2017-05-19 117 views
0

我在创建应用程序中的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); 
    } 
} 

我很惊讶,这没什么用处,但是这个代码是从另一个项目中重用的,其中一切都很顺利。这doesen't创建的JFrame,我只得到这个在控制台响应:

C:\Users\Ivan\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: -1073740791

+0

这是你的NetBeans配置的一些问题,你发布的代码工作正常(当你修复语法错误时,你应该编辑你的问题)。 – pvg

回答

2

我运行此程序时也出现错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: EXIT_ON_CLOSE cannot be resolved to a variable

但是,当我删除了这条线:

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(); 
    } 
} 
+0

我相信有人下调了它,因为你收到的错误与Asdemuertes不一样,所以你没有真正回答他的问题。他的错误消息显示netbeans存在问题。 – JFreeman

+0

我同意你写的代码很好。 – JFreeman

2

我得到的问题,如这些在Netbeans中所有的时间。 (坦率地说,我正在考虑切换IDE)。 如果这些建议能够奏效,这并不能保证,但它值得一试。其中一个通常解决我的问题。

  1. 通常的解决方案是清理和构建您的项目,因为有时Netbeans会编译旧代码。点击“运行”,然后点击“清理并建立主项目”,然后再次运行。

  2. 有时一个简单的关闭和重新启动Netbeans将解决这个问题。

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

+1

这是非常有趣的,我从来没有遇到与NetBeans的任何问题。你使用什么版本? – JFreeman

+0

也有不正确的代码需要修复,所以如果他这样做,程序仍然无法正常运行。 – CodingNinja

+0

@JFreeman版本8.2 for Windows 10. –