我正在尝试使用JPanle 和JFrame 编写游戏。我在框架内设置了一个面板。当我在面板上绘制面板的矩形大小为 0,0 时。矩形向上和向左移动一些像素。我该如何解决这个问题?我用谷歌搜索并看到了 insets 方法,但我不想在每次绘制时都使用它来计算我的坐标。
这是代码
public class Game extends JFrame{
public Game(){
this.getContentPane().setPreferredSize(new Dimension(800,600));
pane p = new pane();
this.getContentPane().add(p,BorderLayout.CENTER);
p.setPreferredSize(new Dimension(800,600));
pack();
setResizable(false);
setVisible(true);
}
public static void main(String[] args){
new Game();
}
}
public class pane extends JPanel{
public pane(){
setDoubleBuffered(false);
setBackground(Color.black);
setPreferredSize( new Dimension(800, 600));
setFocusable(true);
requestFocus();
}
@Override
public void paint(Graphics g) {
g.setColor(Color.white);
g.fillRect(0, 0, 800, 600);
g.setColor(Color.black);
g.fillRect(0, 0, 800, 600);
}
}