BoxLayout.PAGE_AXIS を持つ JPanel がありますが、2 つの JLabel を追加すると、最初の JLabel が JPanel 全体を埋め尽くします。JPanel の PreferredSize は高さ 10 です。両方の JLabel の優先高さは 5 で、幅は 3 つすべてで同じです。
私は何を間違っていますか?
PSだから私はおかしなヌルレイアウトを好むのです...
BoxLayout.PAGE_AXIS を持つ JPanel がありますが、2 つの JLabel を追加すると、最初の JLabel が JPanel 全体を埋め尽くします。JPanel の PreferredSize は高さ 10 です。両方の JLabel の優先高さは 5 で、幅は 3 つすべてで同じです。
私は何を間違っていますか?
PSだから私はおかしなヌルレイアウトを好むのです...
次のコードを試してみてください。正常に動作するはずです。
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);
}});
}
}