2012-11-06 83 views
-2

我在使用Java swing之前曾多次遇到此問題。我運行該程序,除了窗口外什麼也沒有顯示;即使通過一個像素調整大小,一切都顯得完美。任何人都可以告訴我爲什麼會發生這種情況?
謝謝。不顯示擺動組件

+3

發佈一些代碼,告訴我們問題請。 – logoff

+2

爲更好地幫助發佈[SSCCE](http://sscce.org/) – mKorbel

+3

調用setVisible ** AFTER **您已完成將所有組件添加到框架 – MadProgrammer

回答

0

確保以下代碼將出現在GUI代碼的末尾。

frame.setSize(500,500); // size of the frame

frame.setVisible(true); // make frame window visible

+1

不應該有必要調用'setSize','pack'是調整幀大小的首選方法('setSize'在一些小實例中很有用;)) – MadProgrammer

3

始終以invokeLater()開始,使用layout managerpack()框架,使setVisible()最後

EventQueue.invokeLater(new Runnable() { 

    @Override 
    public void run() { 
     JFrame f = new JFrame(); 
     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     JPanel panel = new JPanel(new GridLayout(0, 1)); 
     panel.add(...); 
     panel.add(...); 
     f.add(new JScrollPane(panel)); 
     f.pack(); 
     f.setVisible(true); 
    } 
});