2017-05-19 89 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. –