簡體   English   中英

當我調用新的JFrame()時,什么都沒有發生

[英]When I call new JFrame() nothing happens

這是我的代碼:

Main component = new Main();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(screenSize);
frame.getContentPane().add(component);
frame.pack();
frame.setResizable(false);
frame.setVisible(true);
component.start();

當我運行此命令時,什么也沒發生,所以我將system.outs放在每行上,然后得出結論,它在行上停止了:

JFrame frame= new JFrame();

我真的對發生的事情感到困惑,因為我已經多次運行了這套完全相同的代碼集,但是最近才開始給我帶來麻煩。

還需要注意的是,我在運行該程序時沒有收到任何錯誤消息,它只會運行並卡在該行,然后五秒鍾后關閉該程序。

我認為這對我的代碼來說不是問題,因為我之前已經多次使用過這種確切的代碼序列。

我已經使用Java 7和8運行了該程序,所以也許是計算機問題,所以如果您有任何想法請告訴我!

[編輯]

這是重現該問題所需的最少代碼

    public static void main(String args[]){
        JFrame frame = new JFrame();        
    }

這是您的證明: http : //i.stack.imgur.com/pOEWf.png

在此處輸入圖片說明

您是否說程序在new JFrame退出而沒有可見的堆棧跟蹤? 我建議您應用兩種跟蹤方法:

  1. 將您的代碼包含在try - catch (Throwable)塊中(僅出於Corse的調試目的),並打印出Throwable對象的stacktrace。

  2. 更高級:如果您無法以以前的方式獲取任何Throwable,則可能是在代碼的某個深處執行了System.exit 如果是這樣,我建議您對SecurityManager進行編程以防止它發生(請參閱從API防止System.exit() ),並在您的代碼中打印出當前的堆棧跟蹤信息,以至少了解這個奇怪的System.exit來自何處。 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM