2011-12-07 100 views
2

我在Windows 7 x64上使用eclipse來創建一個新的Java應用程序。javaw.exe在創建JFrame時崩潰

這是我的代碼:

 
import java.awt.EventQueue; 


public class Testen { 

    private JFrame frame; 

    /** 
    * Launch the application. 
    */ 
    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 
        Testen window = new Testen(); 
        window.frame.setVisible(true); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

    /** 
    * Create the application. 
    */ 
    public Testen() { 
     initialize(); 
    } 

    /** 
    * Initialize the contents of the frame. 
    */ 
    private void initialize() { 
     System.out.println("1"); 
     frame = new JFrame(); 
     System.out.println("2"); 
     frame.setBounds(100, 100, 450, 300); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 

} 

我的程序就行了崩潰:

 frame = new JFrame();

它不給任何錯誤,它只是在等待一兩秒鐘,然後我的應用程序停止運行。
在事件查看器中我得到這個錯誤:

Faulting application name: javaw.exe, version: 7.0.10.8, time stamp: 0x4e8975e3 
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000 
Exception code: 0xc0000005 
Fault offset: 0x0000000000000000 
Faulting process id: 0x1334 
Faulting application start time: 0x01ccb4bf9aaa4d8d 
Faulting application path: C:\Program Files\Java\jre7\bin\javaw.exe 
Faulting module path: unknown 
Report Id: d9936f72-20b2-11e1-916b-904ce5de36f8 



Faulting application name: javaw.exe, version: 7.0.10.8, time stamp: 0x4e8975e3 
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000 
Exception code: 0xc000041d 
Fault offset: 0x0000000000000000 
Faulting process id: 0x1334 
Faulting application start time: 0x01ccb4bf9aaa4d8d 
Faulting application path: C:\Program Files\Java\jre7\bin\javaw.exe 
Faulting module path: unknown 
Report Id: dd4f2583-20b2-11e1-916b-904ce5de36f8



Fault bucket 2569546253, type 5 
Event Name: BEX64 
Response: Not available 
Cab Id: 0 

Problem signature: 
P1: javaw.exe 
P2: 7.0.10.8 
P3: 4e8975e3 
P4: StackHash_1dc2 
P5: 0.0.0.0 
P6: 00000000 
P7: 0000000000000000 
P8: c0000005 
P9: 0000000000000008 
P10: 

Attached files: 
C:\Users\jdc\AppData\Local\Temp\WERD617.tmp.WERInternalMetadata.xml 

These files may be available here: 
C:\Users\jdc\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_javaw.exe_c49c9b915a42e5982f3a993e0cb1afabe4de2bb_168ced10 

Analysis symbol: 
Rechecking for solution: 0 
Report Id: d9936f72-20b2-11e1-916b-904ce5de36f8 



Fault bucket 50876441, type 4 
Event Name: APPCRASH 
Response: Not available 
Cab Id: 0 

Problem signature: 
P1: javaw.exe 
P2: 7.0.10.8 
P3: 4e8975e3 
P4: StackHash_b541 
P5: 0.0.0.0 
P6: 00000000 
P7: c000041d 
P8: 0000000000000000 
P9: 
P10: 

Attached files: 
C:\Users\jdc\AppData\Local\Temp\WEREE86.tmp.WERInternalMetadata.xml 

These files may be available here: 
C:\Users\jdc\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_javaw.exe_936cbeffcc52c8ea801f518b59b6ee71645a626_1c350580 

Analysis symbol: 
Rechecking for solution: 0 
Report Id: dd4f2583-20b2-11e1-916b-904ce5de36f8 
Report Status: 0

有沒有人有任何想法如何解決這個問題?或者我應該從哪裏開始尋找解決方案?

編輯:

這在linux下完美無缺。 (最大的區別是java版)

+0

複製粘貼你的代碼到Netbeans 7.1 rc1,按預期工作... – Dapeng

+0

它也適用於我的虛擬WinXP測試機器,我想得到它在我的開發機器上工作 – JDC

+0

我有一個完全相同的問題,10個(據稱是)同一配置的Windows 7 64位機器上有一個程序,除了實例化一個JFrame之外絕對沒有任何東西。 ? –

回答

1

其他Java程序也有我的機器上的煩惱..

一個完整卸載並重新安裝所有的Java組件都修復了它。我想我永遠不會知道真正的原因.. :-(

2

閒來無事,除了缺少import

import javax.swing.JFrame;

+0

嘿,似乎我忘了複製我的第一行,這是導入javax.swing.JFrame所以這不會幫助我。當導入不存在,程序不會啓動..我的程序啓動,但EN意想不到的是,即使沒有碰到任何東西。的System.out.println( 「1」);顯示System.out.println(「2」);從未顯示。 – JDC

+0

@JDC這個程序在netbeans中爲我工作得很好,同時打印了1和2。 – COD3BOY

0
import java.awt.EventQueue; 
import javax.swing.JFrame; 

public class Testen { 

    private JFrame frame; 

    /** 
    * Launch the application. 
    */ 
    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 
        Testen window = new Testen(); 
        window.frame.setVisible(true); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

    /** 
    * Create the application. 
    */ 
    public Testen() { 
     initialize(); 
    } 

    /** 
    * Initialize the contents of the frame. 
    */ 
    private void initialize() { 
     System.out.println("1"); 
     frame = new JFrame(); 
     System.out.println("2"); 
     frame.setBounds(100, 100, 450, 300); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 

}