我在Java Swing应用程序中创建了一个带有JButton的主窗口。我已经在此按钮中添加了一个事件侦听器类(实现ActionListener接口),每次单击按钮时,都会启动一个“弹出”窗口。单击按钮时,该方法正常工作,除非第一次单击按钮,因为它无能为力。有人知道这种行为背后的原因吗?

有帮助吗?

解决方案

一种简单的方法是提供 AbstractAction. 。您可以尝试以下概述的方法。 (单击按钮时,它显示一个弹出窗口。)

import java.awt.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
public class FrameTest {
    public static void main(String[] args) {
        JFrame jf = new JFrame("Demo");
        Container cp = jf.getContentPane();
        cp.setLayout(new FlowLayout());
        cp.add(new JButton(new AbstractAction("Button Text") {
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(null, "Hello World");
            }
        }));
        jf.setSize(200, 200);
        jf.setVisible(true);
    }
}

其他提示

发布事件处理程序的代码以及如何将其连接到按钮可能会有所帮助。您可能想快速看一下 太阳教程

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top