我在我的应用程序中创建JFrame时遇到了问题,所以我尝试运行最简单的代码来定位正在发生的事情。
public class prueba {
public static void main(String[] args) {
JFrame f = new JFrame("Primer JFrame");
f.add(new JLabel("Intenteu tancar per la creueta..."));
f.setSize(800,600);
f.setVisible(true);
f.setResizable(false);
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
我很惊讶,这没有任何作用,但是这段代码是从另一个项目中重复使用的,在这个项目中一切都很好。这并没有创建JFrame,我只在控制台中得到它作为响应:
C:\用户\Ivan\AppData\本地\NetBeans\Cache\8.2\执行器片段\run. xml:53:Java返回:-1073740791
我在运行此程序时也遇到了错误:
线程"main"中的异常java. lang.Error:未解决的编译问题:EXIT_ON_CLOSE无法解析为变量
但是当我删除这一行时:
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
它运行良好,但是当窗口退出时,程序并没有立即退出。因此,您可以删除此行,或者如果您希望程序在窗口关闭后立即终止,请扩展JFrame并使用构造函数,如下所示:
import javax.swing.JFrame;
import javax.swing.JLabel;
public class prueba extends JFrame {
private static final long serialVersionUID = 1L;
public prueba() {
add(new JLabel("Intenteu tancar per la creueta..."));
setTitle("Primer JFrame");
setSize(800,600);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new prueba();
}
}
我在Netbean中经常遇到这样的问题。(坦率地说,我正在考虑切换IDE)。不能保证这些建议是否有效,但值得一试。其中一个通常可以解决我的问题。
>
通常的解决方案是清理并构建您的项目,因为有时Netbean会编译较旧的代码。通过单击“运行”,然后单击“清理并构建主项目”,然后尝试再次运行它来执行此操作。
有时,简单的关闭并重新启动Netbean可以解决此问题。
如果上面两个都不起作用,我只是创建一个新类并将代码复制/粘贴到其中,然后删除旧类。这对我来说通常是一个“硬修复”,尽管它可能很乏味。