Netbeans模块:点击按钮打开JFrame

时间:2018-04-24 22:44:45

标签: java netbeans module jframe

我正在为Netbeans编写一个模块,我有一个按钮,点击该按钮会打开一个JFrame。

这是按钮的动作监听器类:

// ... (package and imports)

@ActionID(
        category = "File",
        id = "org.myorg.readabilitychecker.ReadabilityActionListener"
)
@ActionRegistration(
        iconBase = "org/myorg/readabilitychecker/google.png",
        displayName = "#CTL_ReadabilityActionListener"
)
@ActionReference(path = "Toolbars/File", position = 0)
@Messages("CTL_ReadabilityActionListener=Readability")
public final class ReadabilityActionListener implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
        JFrame readabilityFrame = new ReadabilityFrame();
        readabilityFrame.setVisible(true);
    }
}

在JFrame中我基本上有:

public static void main(String args[]) {
* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new ReadabilityFrame().setVisible(true);
            }
        });
    }

它还有一些其他自动生成的代码,但没什么重要的。

当我运行应用程序时,按钮出现在工具栏中,但是当我单击它时,JFrame不会打开。

我尝试检查actionPerformed()方法中的打印是否会显示在输出终端中,但是我确实在调用JFrame时我错过了一些内容。

任何人都可以给我一个关于问题所在的提示吗?

2 个答案:

答案 0 :(得分:0)

我认为问题在于框架的对象创建。尝试

 ReadabilityFrame readabilityFrame = new ReadabilityFrame();
 readabilityFrame.setVisible(true);

希望它有所帮助。

答案 1 :(得分:0)

我发现了问题所在。

自动生成的initComponents()方法有一行setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);,它总是抛出一个异常。

我刚刚将EXIT_ON_CLOSE更改为DISPOSE_ON_CLOSE,以不同的方式定义了框架,现在问题就消失了。