ボードゲームを作ろうとしています。ウィンドウの左側には実際のボード ゲームが表示され、右側にはいくつかのボタンとタイマーが表示されます。ペイント メソッドを使用してボードをペイントしますが、バックグラウンドでレンダリングされる新しい JPanel を作成しようとすると。ゲームの端に黒い部分が見えるのでわかります。
これは、JFrame を作成し、ボード クラスを呼び出すメイン コードです。
frame.setSize(864, 480);
frame.add(new Board());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setCursor(frame.getToolkit().createCustomCursor(new BufferedImage(3, 3, BufferedImage.TYPE_INT_ARGB), new Point(0, 0), "null"));
JPanel panel = new JPanel();
frame.add(panel);
panel.setBackground(Color.BLACK);
これは、碁盤の画像を描画する私のコードです。これは私のボードクラスにあります
super.paint(g);
s.location = MouseInfo.getPointerInfo();
s.mouse = s.location.getLocation();
s.updateBlackX(s.mouse);
s.updateBlackY(s.mouse);
s.updateWhiteX(s.mouse);
s.updateWhiteY(s.mouse);
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(board, 0, 0, null);
paintArray(g2d);
if (turn == 1)
g2d.drawImage(s.getBlackStone(), s.getBlackX() - f.getX() - 15, s.getBlackY() - f.getY() - 35, null);
else
g2d.drawImage(s.getWhiteStone(), s.getWhiteX() - f.getX() - 15, s.getWhiteY() - f.getY() - 35, null);
これは実行時の私のゲームで、私の問題についてさらに説明があります。 http://imgur.com/cAIS9aR
事前にすべての助けに感謝します!