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