首页 文章

javaw.exe在创建JFrame时崩溃

提问于
浏览
2

我在Windows 7 x64上使用eclipse来创建一个新的Java Application .

这是我的代码:

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 回答

  • 1

    除了缺少 import 之外别无其他

    import javax.swing.JFrame;

  • 0

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

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

  • 2
    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);
        }
    
    }
    

相关问题