0

これはテスト用のクラスで、2 つの JPanels と 1 つの JMenuBar があります (別のテスト中にクラスをオーバーライドしましたが、これらのクラスは動作します)。残念ながら、setComponentZOrder() を使用しようとすると、JMenuBar が表示されなくなりました。setComponentZOrder() の部分をコメントアウトするとうまくいきます。

どんな助けでも大歓迎です。

    import java.awt.*;
    import javax.swing.JFrame;

    public class Main extends JFrame
    {
        Panel test1 = new Panel(Color.GREEN);
        Panel test2 = new Panel(Color.BLUE);
        Menuuuuu menuBar = new Menuuuuu();

        public static void main (String []args)
        {   
            new Main();
        }

        public Main()
        {
            super();
            setSize(500,500);
            Container c = getContentPane();
            c.setLayout(null);
            c.setBackground(Color.white);

            test1.setBounds(0,0,500,500);
            c.add (test1);

            test2.setBounds(0,0,500,500);
            c.add(test2);

            setJMenuBar(menuBar);
            setComponentZOrder(test1,0);
            setComponentZOrder(test2,1);
            setVisible(true);
        }
    }
4

1 に答える 1

0
setComponentZOrder(test1,0);
setComponentZOrder(test2,1);

フレーム上のコンポーネントの ZOrder を設定しています。

コンテンツ ペインでコンポーネントの ZOrder を設定します。

c.setComponentZOrder(test1,0);
c.setComponentZOrder(test2,1);
于 2013-06-13T15:49:29.053 に答える