3

伙计们,我打算实现一个简单的按钮 ActionListener 但它似乎不起作用。附上java代码如下.....程序打算响应用户的点击动作并改变JLabel的上下文

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Frame extends JFrame implements ActionListener {

    public JButton btn = new JButton("Click");
    public JLabel display = new JLabel("null");
    public JPanel mainPanel = new JPanel();

    public Frame() {

        mainPanel.add(btn);
        mainPanel.add(display);

        add(mainPanel);
    }

    public void actionPerformed(ActionEvent e) {

        if (e.getSource() == btn) {
            display.setText("it works");
            System.out.println("it works");
        }
    }

    public static void main(String[] args) {

        Frame testFrame = new Frame();
        testFrame.pack();
        testFrame.setVisible(true);

    }
}
4

2 回答 2

7

您的 actionlistener(JFrame 本身)没有添加addActionListener

于 2012-09-11T07:21:40.087 回答
7

您应该将 ActionListner 添加到按钮

public Frame(){

    mainPanel.add(btn);
    mainPanel.add(display);
    btn.addActionListener(this);
    add(mainPanel);
}
于 2012-09-11T07:22:15.793 回答