08/06/29 16:18:43
質問です。
次のような、タブペインに、newでインスタンスとして生成したラベルlabelをタブの数だけ配置するプログラムがあります。
public class TabbedPaneSample1 {
JLabel label;
public TabbedPaneSample1() {
JFrame frame = new JFrame("TabbedPane Sample");
JTabbedPane pane = new JTabbedPane();
for (int i = 0; i < 5; i++) {
label = new JLabel("Tab" + i);
pane.addTab("Tab " + i, label);
}
frame.add(pane);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 200);
frame.setVisible(true);
}
public static void main(String[] args) {
new TabbedPaneSample1();
}
}
ボタンを押すなどしたときに「現在表示中の」ラベルの内容を書き換えるにはどうしたらいいでしょうか?
label.settext("A");などでは一番最後に貼り付けたラベルにメソッドが働いてしまうようです。
タブペインのgetSelectedComponent();メソッドでコンポーネントは取得できるようなのですが、
コンポーネントからそのメソッドを呼び出せるものなのでしょうか?
タブの数は不定なので、あらかじめラベルを用意しておく事は出来そうにないです。