0

contentPane の上部にメニューバーがあるプログラムを作成する予定です。

このメニューバー another の下で、これJPanelが私がやったことです(動作します)が、これが最善の方法であるかどうかはわかりません:

ボタンの違うJPanelをたくさん作ったのでJMenuItem、画面を変えてほしい( JPanel)

したがってJMenuItem、特定のものを設定するそれぞれに対して私が行ったことJPanel(すべてのパネルは GridBagLayout 内の同じ位置にありますが、すべて で始まります.setVisible(false);)

jemnuitem1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

        jpanelItem1.setVisible(true);
        jpanelItem2.setVisible(false);
        jpanelItem3.setVisible(false);
    }
});     

jemnuitem2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

        jpanelItem1.setVisible(false);
        jpanelItem2.setVisible(true);
        jpanelItem3.setVisible(false);
    }
});     

jemnuitem3.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

        jpanelItem1.setVisible(false);
        jpanelItem2.setVisible(false);
        jpanelItem3.setVisible(true);
    }
});

これは機能しますが、これを行うためのより良い方法があるかどうか、またはこれを行うのに大きな問題があるかどうかを知りたいです。すでに似たようなものを作っています。

4

1 に答える 1

3

CardLayoutを使用する必要があります。次に、今のように不器用なコードを書く代わりに、表示されるパネルを切り替えることができます。

于 2013-10-25T05:14:00.853 に答える