2015-10-15 125 views
-1

出於某種原因,我似乎無法得到這個工作:JFrame.setsize()沒有做任何事情

public class App { 

    public static void main(String[] args){ 

      JFrame frame = new JFrame("Hi"); 
      frame.setSize(300, 400); 
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      frame.setVisible(true); 

    } 
} 

不管我傳遞給的setSize(什麼大小),當我運行的結果窗口該計劃仍然很小。有什麼建議麼?

+1

這是您的完整代碼?因爲這應該工作得很好(它對我來說)。你確定你沒有調用'frame.pack();'某處? –

+1

對我來說這是工作是什麼問題? – soorapadman

+1

爲了更快提供更好的幫助,請發佈[MCVE]或[簡短,獨立,正確的示例](http://www.sscce.org/)。這個問題似乎是在上面顯示的**沒有顯示的代碼中。請注意,應該在EDT上創建和更改GUI。 –

回答

0

你試試這個代碼,會給你一個JFrame。並在程序中尋找setPrefered方法

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

public class JFrameDemo { 

    public static void main(String s[]) { 
     JFrame frame = new JFrame("JFrame Source Demo"); 
     frame.addWindowListener(new WindowAdapter() { 
      public void windowClosing(WindowEvent e) { 
       System.exit(0); 
      } 
     }); 
     JLabel jlbempty = new JLabel(""); 
     jlbempty.setPreferredSize(new Dimension(175, 100)); 
     frame.getContentPane().add(jlbempty, BorderLayout.CENTER); 
     frame.pack(); 
     frame.setVisible(true); 
    } 
} 
+0

'jlbempty.setPreferredSize(new Dimension(175,100));'猜測(關於大小)。添加所需大小的「EmptyBorder」並停止猜測。另請參閱[是否應避免使用Java Swing中的set(Preferred | Maximum | Minimum)Size方法?](http://stackoverflow.com/q/7229226/418556)(是)。 –