0

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

4

2 回答 2

2

一种更简单的方法可能是提供一个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);
    }
}
于 2010-05-19T21:33:10.953 回答
1

发布事件处理程序的代码以及如何将其附加到按钮可能会有所帮助。您可能想快速浏览一下这个Sun 教程

于 2010-05-19T21:04:28.123 回答