【发布时间】:2016-02-02 21:49:08
【问题描述】:
我正在尝试在 Java 中创建 PingPong,但是在为球创建边界时遇到了麻烦。经过测试,发现JFrame打开的太小了;我将宽度设置为 500,JFrame 以 484 像素打开。这是为什么呢?
这是我的游戏课:
公共类游戏扩展画布{
public static void main(String[] args){
new Game();
}
Display d;
public Game(){
d = new Display(this);
requestFocus();
}
public void start(){
System.out.println("Game started.");
}
public void stop(){
}
public void paint(Graphics g){
g.setColor(Color.DARK_GRAY);
g.fillRect(0, 0, 500, 400);
g.setColor(Color.GREEN);
g.drawLine(483, 0, 483, 399);
g.drawLine(0, 399, 499, 399);
}
}
这是我的 JFrame 类:
公共类 Display 扩展 JFrame {
JFrame frame;
Dimension screenSize;
public Display(Game game){
frame = new JFrame("PingPong");
screenSize = new Dimension(500, 400);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(true);
//frame.setSize(500, 400);
frame.setPreferredSize(screenSize);
frame.setMinimumSize(screenSize);
frame.setMaximumSize(screenSize);
frame.setLocationRelativeTo(null);
frame.add(game);
//frame.pack();
game.start();
}
}
【问题讨论】: