У меня есть panel
, в котором я хочу, чтобы содержимое отображалось вертикально. Чтобы сделать это, я использую эту строку кода:Содержимое панели форматирования в Java
rightPanel.setLayout(new BoxLayout(rightPanel, BoxLayout.Y_AXIS));
Как я использую textfields
, то я хотел бы их взять на одну строку вверх. Но, используя указанную выше строку кода, textfields
внутри панели получает максимальный размер и при изменении размера окна изменяется размер textfield
. Я также попытался удалить его, но затем содержимое внутри панели отображается горизонтально и не будет помещаться внутри панели.
Вот образ результата:
А вот код, в котором будет создаваться содержание панели:
//Creates the form for data and button to save it.
final TextField name;
final TextField eMail;
final TextField dateOfBirth;
final TextField address;
JLabel nameLabel = new JLabel("Name:");
name = new TextField();
JLabel eMailLabel = new JLabel("E-mail:");
eMail = new TextField();
JLabel dateOfBirthLabel = new JLabel("Date of birth:");
dateOfBirth = new TextField();
JLabel addressLabel = new JLabel("Address:");
address = new TextField();
rightPanel.add(nameLabel);
rightPanel.add(name);
rightPanel.add(eMailLabel);
rightPanel.add(eMail);
rightPanel.add(dateOfBirthLabel);
rightPanel.add(dateOfBirth);
rightPanel.add(addressLabel);
rightPanel.add(address);
rightPanel.add(Box.createRigidArea(new Dimension(20, 20)));
JButton save = new JButton("Save");
rightPanel.add(save);
И что именно на ваш вопрос? Как бы вы хотели, чтобы он работал? В чем проблема? –
@Simon André Forsberg В принципе, я хочу, чтобы текстовые поля занимали одну строку, а не заполняли всю панель. Вы можете увидеть эту проблему на картинке здесь: http://i.imgur.com/OuMMhN6.png – danrodi
Мы не можем комментировать и делать предложения по вашему коду, не видя этого. И мы не будем реализовывать все для вас. –