0
我正在構建一個簡單的俄羅斯方塊遊戲,我在我的初始JPanel中有3個按鈕。當我按下開始遊戲按鈕時,遊戲將在後臺啓動,但我的遊戲屏幕不顯示。Java Swing JPanel
我的Tetris類擴展了JFrame,我有兩個面板。一個用於3個按鈕,另一個用於實際遊戲。當我按下開始遊戲按鈕時,它應該刪除按鈕並顯示遊戲JPanel。
有什麼建議嗎?謝謝。
startButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Start button pressed");
Tetris.this.startGame();
}
});
這裏是startGame()的代碼;董事會對象還擴展JPanel
public void startGame(){
remove(panel);
board = new Board();
board.repaint();
tempBoard = new Board();
board.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if(keyCode == leftKey && canMoveLeft()){
moveLeft();
}
if(keyCode == rightKey && canMoveRight()){
moveRight();
}
if(keyCode == downKey && canMoveDown()){
sleepTime = 50;
}
}
public void keyReleased(KeyEvent e) {
int keyCode = e.getKeyCode();
if(keyCode == downKey && canMoveDown()){
sleepTime = 300;
}
}
});
board.setFocusable(true);
add(board,BorderLayout.CENTER);
pack();
setVisible(true);
updateGame();
我建議你使用javafx – Emrage 2014-10-16 15:49:47
可能是你的'updateGame();'調用,如果在UI中什麼都不做,我會建議在單獨的線程中啓動該調用。 – PeterK 2014-10-16 16:47:21