Java 为什么我的JFrame没有调整大小?
我已经用Java 为什么我的JFrame没有调整大小?,java,swing,user-interface,jframe,jlist,Java,Swing,User Interface,Jframe,Jlist,我已经用f.setSize()指定了宽度和高度但这没有任何区别 代码如下: public class MTGSAMPServerReference extends JPanel{ public static Toolkit tk = Toolkit.getDefaultToolkit(); static int ScrnWidth = ((int) tk.getScreenSize().getWidth()); static int ScrnHeight = ((in
f.setSize()指定了宽度和高度代码>但这没有任何区别
代码如下:
public class MTGSAMPServerReference extends JPanel{
public static Toolkit tk = Toolkit.getDefaultToolkit();
static int ScrnWidth = ((int) tk.getScreenSize().getWidth());
static int ScrnHeight = ((int) tk.getScreenSize().getHeight());
public static void main(String[] args) {
MTGSAMPServerReference gui = new MTGSAMPServerReference();
gui.launchFrame();
}
public void launchFrame() {
String[]listContents={"Vehicles","Houses","Companies","Objects","Jobs"};
JFrame f = new JFrame("MTG SAMP Server Reference");
JList list1=new JList(listContents);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.setSize(1200, 800);
f.setLocationRelativeTo(null);
f.add(list1);
list1.setSize(500, 500);
Container contentPaneMain = f.getContentPane();
contentPaneMain.add(new MTGSAMPServerReference());
f.pack();
}
}
我做错了什么,或者忘记了什么?您可以使用pack()
或setSize()
我已经使用了这两种方法,并且其他人告诉我,要像我一样将pack()
放在GUI代码的末尾。但是我缺少什么呢?使用setSize(400400)
而不是pack()
。哦,我明白了,我只需要把pack()代码>在设置大小()之前代码>谢谢@AVDpack()
应该始终被调用,即使setSize(..)
是下一条语句。它不仅仅是“设置大小”。