我正在创建WindowBuilder GUI,需要将使用单选按钮创建的变量传递给EventHandler类,以用于进一步处理。单选按钮事件的输出成功;但是,在eventHanler类中未解析在actionPerformed方法中声明的变量“ df”。任何帮助将不胜感激。
public TestClass() {
/* INSERT RADIOBUTTON INTO FRAME. */
JRadioButton rdbtnNo = new JRadioButton("No");
rdbtnNo.setFont(new Font("Tahoma", Font.BOLD, 12));
rdbtnNo.setBounds(332, 509, 63, 23);
frame.getContentPane().add(rdbtnNo);
/* LISTEN FOR RADIOBUTTON BUTTON. */
rdbtnNo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
String command = event.getActionCommand();
System.out.println(command);
int df = 20;
}
});
rdbtn.setActionCommand("event");
rdbtn.addActionListener(new EventHandler());
}
public class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent event) {
System.out.println(df);
}
}
最佳答案
rdbtnNo.addActionListener(new EventHandler());
在您的代码中。
您也有其他错误,但是当您在下面声明该内部类时,必须在addActionListener方法中实例化它才能利用它。