パネルを作成するクラスを作成しました。コンストラクターで、アクション リスナーがアタッチされたボタンを渡しています。ボタンのコードは次のとおりです。
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);
}
}
コンストラクターが正しく機能していることはわかっています。その中にボタンを作成してコンテンツに追加すると、正常に表示されます。何が起きてる?このボタンをコンストラクターに渡すことはできますか? できれば、なぜこれが表示されないのですか?