の場合、表示がちらつきます。私はそれを止めることができないと私はそれがちらつきを止める方法を知りたいです。私もここにswing.timerを追加しようとしましたが、まだ何もしません。 パッケージゲーム;あなたのペイント方法ではJFrameのペイントを使用しているときにJava JFrameペイントメソッドの表示がちらつきが
public class Play extends JFrame implements MouseMotionListener, MouseListener, KeyListener, ActionListener {
private int _xPad,_yPad,_xdir,_ydir;
private Brick[][] _bricks;
private Ball _gameBall;
private Timer _timer;
public Play(int[][] board){
super("Elemental Brick Breaker");
_xdir = 0;
_ydir = 0;
_xPad = 350;
_yPad = 500;
_timer = new Timer(1000,this);
_timer.start();
_gameBall = new FireBall(_xPad,_yPad);
_bricks = new Brick[8][10];
int x = 75, y = 40;
for(int i = 0 ; i < 8 ; i++) {
for(int j = 0 ; j < 10 ; j++) {
_bricks[i][j] = new FireBrick(x,y);
x = x + 65;
}
y = y + 25;
x = 75;
}
}
public void paint(Graphics g) {
super.paint(g);
g.fillRect(_xPad, _yPad, 120, 10);
for(int i = 0 ; i < 8 ; i++) {
for(int j = 0 ; j < 10 ; j++) {
g.fillRect(_bricks[i][j].getX(), _bricks[i][j].getY() , 60, 20);
}
}
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
軽量コンポーネント(JPanelなど)を使用し、そのメソッドの「paintComponent」メソッドをオーバーライドします。 – copeg
"Swingプログラムは、' paint() 'をオーバーライドするのではなく、' paintComponent() 'をオーバーライドする必要があります。" - [* AWTとスイングのペイント:ペイント方法*](http://www.oracle.com/technetwork/java/painting-140037.html#callbacks) – trashgod
"スイングプログラムはpaintComponent()をオーバーライドする必要があります:" JFrameにはpaintComponentがありません - あなたはそれに何を言いますか? – gpasch