0

JPanel子孫のデフォルトのレイアウトマネージャーをどのようにオーバーライドしますか?私は自分のクラスを持っていてnull、デフォルトになりたいです。

4

3 に答える 3

5

JPanelを受け入れるコンストラクターを使用しますLayoutManager

import java.awt.LayoutManager;

import javax.swing.JPanel;

public class MyPanel extends JPanel {
    public MyPanel() {
        this(true);
    }

    public MyPanel(boolean isDoubleBuffered) {
        super(null, isDoubleBuffered);
    }

    public MyPanel(LayoutManager layout, boolean isDoubleBuffered) {
        super(layout, isDoubleBuffered);
    }

    public MyPanel(LayoutManager layout) {
        this(layout, true);
    }
}
于 2013-02-22T15:22:10.710 に答える
2

サブクラスに初期化ブロックを追加できます。

public class MyPanel extends JPanel {

    {
         setLayout(null);
    }

    // ... class implementation
}
于 2013-02-22T15:34:18.190 に答える
1
JPanel panel = new JPanel();
panel.setLayout(new MyLayout());

また

contentPane.setLayout(null);
于 2013-02-22T15:22:31.190 に答える