2015-10-15 100 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)(是)。 –