2010-09-27 264 views
0

我很確定我之前是這樣做的,但由於某種原因,當我運行它時,JFrame不會顯示出來。爲什麼我的JFrame沒有顯示?

JLabel originalString = new JLabel("Original String: " 
             + str.getMutator()); 
    JLabel currentString = new JLabel("Current String: " 
             + str.getMutator()); 
    JLabel finalString = new JLabel("Final String: " + str.getTarget()); 

    JPanel panel = new JPanel(); 
    panel.add(originalString); 
    panel.add(currentString); 
    panel.add(finalString); 

    JFrame frame = new JFrame("Mutating String!"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.getContentPane().add(panel); 
    frame.pack(); 
    frame.setVisible(true); 
} 
+0

這段代碼包含什麼方法? – 2010-09-27 22:02:23

回答

3

你的問題一定是別的地方(被稱爲它拋出一個異常的方法?),因爲你的代碼工作(我評論的STR話費):

http://img217.imageshack.us/img217/902/screenvlg.png

import javax.swing.*; 
public class Test{ 
    public static void main(String... args){ 
     JLabel originalString = new JLabel("Original String: " /*+ str.getMutator()*/); 
     JLabel currentString = new JLabel("Current String: "/* + str.getMutator()*/); 
     JLabel finalString = new JLabel("Final String: " /* + str.getTarget()*/); 

     JPanel panel = new JPanel(); 
     panel.add(originalString); 
     panel.add(currentString); 
     panel.add(finalString); 

     JFrame frame = new JFrame("Mutating String!"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.getContentPane().add(panel); 
     frame.pack(); 
     frame.setVisible(true); 
    } 
} 
+1

我發現了這個問題。我感到有點尷尬,我有一個掃描儀閱讀用戶輸入,並忘記了它... – Dave 2010-09-27 22:14:08

+0

我們都曾經在那裏,同志:)只是問一個問題的行爲往往導致一個答案。 – 2010-09-28 02:01:01

+0

戴夫你能解釋一下嗎?掃描器讀取輸入與JFrame有什麼關係?展示框架之前,您是否必須關閉掃描儀? – jimboweb 2018-02-20 16:49:40

3

嘗試設置大小或檢查組件的首選大小可能是因爲您調用了pack()。

frame.setSize(x,y);

相關問題