在eclipse中使用窗口构建器创建GUI时,为什么没有实现ActionListener?

时间:2014-03-04 11:25:53

标签: java swing actionlistener

我正在使用窗口构建器来创建前端GUI,并获得以下自动生成的代码。在下面的代码中,我找不到按钮单击事件的 实现ActionListener 的语句。它直接调用添加addActionListener和actionPerformed而没有语句 公共类gui扩展JFrame实现了ActionListener ,正如我在教程中所学到的。

public class gui extends JFrame {

    private JPanel contentPane;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    gui frame = new gui();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public gui() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 386, 451);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JButton btnNewButton = new JButton("");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
            }
        });

2 个答案:

答案 0 :(得分:2)

ActionListener在此处被称为anonymous class

btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
        }
    });

所以你的gui课程不需要实现它。

答案 1 :(得分:1)

窗口构建器始终创建匿名类(对于侦听器),这样您就不需要在其他类或同一类中实现侦听器。如果您不想使用匿名类,则必须手动修改代码。