Мне нужно выровнять компоненты (2 JTextField
s и 1 JTextArea
) по вертикали в JPanel
, затем расположить эту панель в центре уже определенного кадра.
Я хочу именно так.
![image](https://i.stack.imgur.com/Dd5mJ.png)
Я попытался сделать это, настроив различные макеты для панели, но не могу заставить его работать. В приведенном ниже коде это нормально, ничего ничего для панели. Если я добавляю компоненты на панель, она ведет себя по-другому. Компоненты отображаются на панели горизонтально.
public class DialogboxExample {
public static void main(String[] args) {
JFrame frame = new JFrame("BoxLayout Example X_AXIS");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JLabel lblPhone = new JLabel("Name");
lblPhone.setBounds(65, 68, 46, 14);
frame.getContentPane().add(lblPhone);
JTextField textField_1 = new JTextField();
textField_1.setBounds(136, 65, 247, 22);
frame.getContentPane().add(textField_1);
textField_1.setColumns(10);
JLabel lblEmailId = new JLabel("Category");
lblEmailId.setBounds(65, 115, 70, 14);
frame.getContentPane().add(lblEmailId);
JTextField textField_2 = new JTextField();
textField_2.setBounds(136, 112, 247, 22);
frame.getContentPane().add(textField_2);
textField_2.setColumns(10);
JLabel lblAddress = new JLabel("Description");
lblAddress.setBounds(65, 162, 150, 14);
frame.getContentPane().add(lblAddress);
JTextArea textArea_1 = new JTextArea();
textArea_1.setBounds(136, 157, 300, 100);
frame.getContentPane().add(textArea_1);
frame.setSize(300, 300);
frame.getContentPane().add( panel, "Center");
frame.pack();
frame.setVisible(true);
}
}
Я хочу, чтобы JTextField
s и JTextArea
были сложены вертикально.
Может кто-нибудь, пожалуйста, помогите мне в этом?
Если я добавлю GridLayout
на панель, она будет работать хорошо, но размер компонента будет одинаковым для всех 3 компонентов.