Javaで単純なGUIプログラムを作成しようとしていますが、エラーの適切な解決策が見つかりませんでした。別のメソッドで定義された内部クラス内の非最終変数を参照できません。
これが私のこれまでの小さなコードです。
myPanel = new JPanel();
JButton myButton = new JButton("create buttons");
myButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int val = Integer.parseInt(textfield.getText());
for(int i = 0; i < val; i++) {
JButton button = new JButton("");
button.setText(String.valueOf(i));
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clickButton(i);
}
});
myPanel.add(button);
myPanel.revalidate();
}
}
});
たぶん私のアプローチは完全に間違っています。私がやろうとしているのは、ボタンのセットを作成し、ユーザーがボタンを押すと、「ボタン4を押しました」または「ボタン10を押しました」などのメッセージを表示したいとします。