我正在创建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方法中实例化它才能利用它。

07-28 10:28