У меня есть следующий компонент поворота. См. Изображение. Здесь ярлык, выпадающая скобка и метка и текстовое поле неправильно выровнены. Любая идея, что вызывает эту проблему?Как оставить выровнять компоненты качаний в JPanel
Я использую GridBagLayout в панели. Затем добавьте на панель компоненты, такие как label и combobox, и текстовое поле.
Ниже приведен код, который я использовал.
srchCategoryLbl = new JLabel("Category");
categoryCmb = new JComboBox<>();
categoryCmb.setPreferredSize(dimensionTxt);
categoryCmb.setBounds(0, 0, 0, 0);
srchProductCodeLbl = new JLabel("Product Code");
productCodeTxt = new JTextField();
productCodeTxt.setPreferredSize(dimensionTxt);
srchProductDescLbl = new JLabel("Product Desc");
productDescTxt = new JTextField();
productDescTxt.setPreferredSize(dimensionTxt);
searchBtn = new JButton("Search");
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.WEST;
searchPanel.add(srchCategoryLbl, gbc);
gbc.gridx = 0;
gbc.gridy = 1;
searchPanel.add(categoryCmb, gbc);
gbc.gridx = 1;
gbc.gridy = 0;
searchPanel.add(srchProductCodeLbl, gbc);
gbc.gridx = 1;
gbc.gridy = 1;
searchPanel.add(productCodeTxt, gbc);
gbc.gridx = 2;
gbc.gridy = 0;
searchPanel.add(srchProductDescLbl, gbc);
gbc.gridx = 2;
gbc.gridy = 1;
searchPanel.add(productDescTxt, gbc);
gbc.gridx = 3;
gbc.gridy = 1;
searchPanel.add(searchBtn, gbc);
Я думаю, что он не исправит вашу проблему, но обычно не рекомендуется использовать setBounds и setPreferrededSize. Пусть LayOut Manager обрабатывает положение и размер компонентов –
@FranciscoPuga. В этом случае, как установить размер компонента? – Mayuran
Вы используете Mac? Он помещает специальную «фокусную» границу вокруг текстовых полей, которая может отображать их. Вы можете использовать вставки для перемещения меток вправо на несколько пикселей для компенсации – MadProgrammer