有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

swing为什么Java ActionListener不工作?

各位,我打算实现一个简单的按钮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);

    }
}

共 (2) 个答案

  1. # 2 楼答案

    你应该在按钮中添加ActionListner

    public Frame(){
    
        mainPanel.add(btn);
        mainPanel.add(display);
        btn.addActionListener(this);
        add(mainPanel);
    }