Jframe没有出现

时间:2017-05-19 02:52:32

标签: java swing netbeans jframe

我在应用程序中创建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:\用户\伊凡\应用程序数据\本地\的NetBeans \缓存\ 8.2 \执行人-片段\ run.xml:53:   Java返回:-1073740791

2 个答案:

答案 0 :(得分:2)

运行此程序时出错:

  

线程中的异常" 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();
     }
 }

答案 1 :(得分:2)

我一直在Netbeans中遇到这样的问题。 (坦率地说,我正在考虑切换IDE)。 如果这些建议能够奏效,我们无法保证,但值得一试。其中一个通常可以解决我的问题。

  1. 通常的解决方案是清理和构建项目,因为有时Netbeans会编译旧代码。通过单击"运行"然后"清理并构建主项目",然后再次尝试运行它来执行此操作。

  2. 有时,简单的关闭并重新启动的Netbeans将解决此问题。

  3. 如果以上两者都不起作用,我只创建一个新类并将代码复制/粘贴到其中,然后删除旧类。这通常是一个难以解决的问题"对我来说,虽然它可能很乏味。