Java Netbeans模块:单击按钮打开JFrame

Java Netbeans模块:单击按钮打开JFrame,java,netbeans,module,jframe,Java,Netbeans,Module,Jframe,我正在为Netbeans编写一个模块,其中有一个按钮,单击该按钮将打开一个JFrame 这是按钮的操作侦听器类: // ... (package and imports) @ActionID( category = "File", id = "org.myorg.readabilitychecker.ReadabilityActionListener" ) @ActionRegistration( iconBase = "org/myorg/re

我正在为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时遗漏了一些东西


有谁能告诉我问题出在哪里吗?

我想问题出在框架的对象创建上。试一试

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

希望有帮助。

我发现问题出在哪里了

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


我刚刚将
EXIT\u ON\u CLOSE
更改为
DISPOSE\u ON\u CLOSE
,以不同的方式定义了框架,现在问题消失了。

您是否完全编码,或者右键单击并添加了一个框架,然后单击按钮编写了代码?或者手动编码?“或者右键单击并添加一个框架,然后在按钮中单击“您编写了代码”-我这样做了。调试时,我注意到当我尝试调用ReadabilityFrame ReadabilityFrame=new ReadabilityFrame()时;它调用具有以下行的方法initcomponents()“setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);”。这里,它给出了一个异常“变量信息不可用,源代码编译时没有-g选项”,并停止执行。