0

BoxLayout.PAGE_AXIS を持つ JPanel がありますが、2 つの JLabel を追加すると、最初の JLabel が JPanel 全体を埋め尽くします。JPanel の PreferredSize は高さ 10 です。両方の JLabel の優先高さは 5 で、幅は 3 つすべてで同じです。

私は何を間違っていますか?

PSだから私はおかしなヌルレイアウトを好むのです...

4

1 に答える 1

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);
        }});
    }
}
于 2012-08-26T23:02:01.790 に答える