javaw.exe在创建JFrame时崩溃

时间:2011-12-07 09:18:33

标签: java swing

我在Windows 7 x64上使用eclipse来创建一个新的Java应用程序。

这是我的代码:

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版本)

3 个答案:

答案 0 :(得分:2)

除了缺少import

之外别无其他

import javax.swing.JFrame;

答案 1 :(得分:1)

其他java程序在我的机器上也有麻烦..

完全卸载并重新安装修复它的所有java组件。我想我永远不会知道真正的原因..: - (

答案 2 :(得分: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);
    }

}