Java Swing JPanel
我正在构建一个简单的俄罗斯方块游戏,在我最初的JPanel中有3个按钮。当我按下开始游戏按钮时,游戏在后台开始,但我的游戏屏幕不显示 我的俄罗斯方块类扩展了JFrame,我有两个面板。一个用于3个按钮,一个用于实际游戏。当我按下开始游戏按钮时,它应该移除按钮并显示游戏JPanel 有什么建议吗?谢谢Java Swing JPanel,java,swing,jpanel,Java,Swing,Jpanel,我正在构建一个简单的俄罗斯方块游戏,在我最初的JPanel中有3个按钮。当我按下开始游戏按钮时,游戏在后台开始,但我的游戏屏幕不显示 我的俄罗斯方块类扩展了JFrame,我有两个面板。一个用于3个按钮,一个用于实际游戏。当我按下开始游戏按钮时,它应该移除按钮并显示游戏JPanel 有什么建议吗?谢谢 startButton.addActionListener(new ActionListener() { public void actionPerformed(Acti
startButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Start button pressed");
Tetris.this.startGame();
}
});
这是StartName的代码;board对象还扩展了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();
容器移除面板
这就是你要找的
此外,tempBoard似乎什么也没做 我建议您使用JavaFX,因为它可能是您的更新名;调用,如果这在UI中没有任何作用,我建议在单独的线程中启动该调用。