1

パネルを作成するクラスを作成しました。コンストラクターで、アクション リスナーがアタッチされたボタンを渡しています。ボタンのコードは次のとおりです。

JButton back = new JButton("Back");
back.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent arg0) {
        menus.show(contentPane, "Main");
    }
});

次に、次のようにコンストラクターに渡されます。

lightsPane = new lightsPane(back).contents;
tasksPane = new Tasks(tasksBack).contents;
tvPane = new TV(tvBack).contents;

クラス内でボタンが JPanel に追加され、その JPanel がコンテンツに追加されます。そのようです:

public class lightsPane{
JPanel contents;

lightsPane(JButton back){
    contents = new JPanel(new BorderLayout);

    //add back button to lower right of panel
    JPanel backPane = new JPanel();
    backPane.setLayout(new BorderLayout());
    backPane.add(back, BorderLayout.CENTER);


    contents.add(backPane, BorderLayout.SOUTH);
       }
 }

コンストラクターが正しく機能していることはわかっています。その中にボタンを作成してコンテンツに追加すると、正常に表示されます。何が起きてる?このボタンをコンストラクターに渡すことはできますか? できれば、なぜこれが表示されないのですか?

4

2 に答える 2

0

はい、別のクラスで使用した参照を渡すので、ボタンをコンストラクターに渡すことができます。それはまったく問題ありません。

于 2012-10-25T05:34:20.777 に答える
0

JButton適切に使用されていれば、コンストラクターを介して渡すことに問題はありません。クラスはそれをまったく使用していないか、使用していますが、奇妙な方法で使用しています。

于 2012-10-25T05:39:33.107 に答える