Я прочитал много тем здесь, но я не могу сделать свое окно с макетом, который я хочу. Я просто хочу, чтобы все мои графические объекты, чтобы быть в стиле строки, как и в первой картине здесь: http://docs.oracle.com/javase/tutorial/uiswing/layout/box.htmlswing BoxLayout не работает
Я попытался GridLayout, но это все-таки сделать свой первый кнопку гигант, а затем, как я добавить текстовые поля, это становится все меньше и меньше ?!
Вот мой код, не все импорта:
public class TestScrollPane extends JFrame implements ActionListener{
Dimension dim = new Dimension(200 , 50);
JButton button;
JPanel panel = new JPanel();
JScrollPane scrollpane = new JScrollPane(panel);
public TestScrollPane(){
scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
this.add(scrollpane);
//panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
this.setSize(300, 400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
button = new JButton("click me");
button.setPreferredSize(dim);
panel.add(button);
button.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == button){
JTextField txt = new JTextField(); // we add a new button
txt.setPreferredSize(dim);
panel.add(txt);
SwingUtilities.updateComponentTreeUI(this); // refresh jframe
}
}
public static void main(String[] args){
TestScrollPane test = new TestScrollPane();
}
}
Я просто хочу, чтобы иметь одну кнопку для каждой строки.
спасибо чувак, я знал, что это было что-то PreferredSize, но я думал, что button.setPreferredSize (тусклый); было достаточно. – zogota
@zogota 'но я думал, что button.setPreferredSize (dim); было достаточно ». Вы должны избавиться от этого утверждения. Вы не должны пытаться контролировать предпочтительный размер любого компонента. – camickr
спасибо за отзыв! Я попробовал _button.setMinimumSize (dim) _, и я сделал то же самое для текстового поля, но по мере добавления текстовых полей кнопка уменьшает его размер и, следовательно, делает их до определенного размера, который уступает размеру _dim_. Что происходит ? – zogota