我有一个带有BoxLayout.PAGE_AXIS的JPanel,但是当我向它添加两个JLabel时,第一个填充整个JPanel。 JPanel的PreferredSize是高度10.两个JLabel都有首选高度5,所有三个都宽度相同。
我做错了什么?
P.S。这就是为什么我会冒这个怪异的布局......
答案 0 :(得分:0)
试试这段代码,它应该可以正常工作:
import java.awt.Dimension;
import javax.swing.*;
public class Test extends JFrame{
JPanel panel = new JPanel();
JLabel lbl1 = new JLabel("First");
JLabel lbl2 = new JLabel("Second");
public Test(){
super("BoxLayout Test");
panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
panel.setPreferredSize(new Dimension(300,200));
panel.add(lbl1);
panel.add(lbl2);
add(panel);
}
public static void main(String [] args){
SwingUtilities.invokeLater(new Runnable(){
public void run() {
Test t = new Test();
t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
t.pack();
t.setVisible(true);
}});
}
}