我正在关注这个人的视频:https://www.youtube.com/watch?v=1gir2R7G9ws。 另外,我使用Netbeans。每次我运行它,就像我尝试使用优先大小而不是设置大小时,它仍然会输出一个小窗口。
public class APCSGame extends Canvas implements Runnable{
...
public final int WINWIDTH=1000,WINHEIGHT=500, SCALE=1;;
JFrame frame;
private BufferedImage backgroundMenu=null;
public APCSGame(){
frame=new JFrame("Testing it out boiiiii");
setSize(WINWIDTH*SCALE,WINHEIGHT*SCALE);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
frame.add(this);
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
...
public static void main(String[] args) {
new APCSGame().start();
}
}
答案 0 :(得分:2)
为什么要将Frame
的布局设置为null
?
请删除或评论此行:frame.setLayout(null);
然后它使用默认的FlowLayout
布局管理器。或者您可以指定其他布局管理器。
答案 1 :(得分:0)
如果您想在示例中创建没有布局管理器的容器;
frame.setLayout(null);
这意味着,容器儿童将拥有绝对的位置。您需要执行以下操作;
虽然可以不使用布局管理器,但是如果可能的话,应该使用布局管理器。
答案 2 :(得分:-1)
使用此代码设置大小
this.setSize(width,height);
或
frame.setSize(width,height);