所以我正在制作战舰游戏,我制作了一个PlayField课程,JFrame将打开并提示用户使用JButton放置船只。这发生在构造函数中,我天真地使用while循环使主线程等待EDT告诉它已完成。有没有更好的"线程方式"做到了吗?
class PlayingField extends JFrame implements ActionListener{
//fields
boolean isRunning = true;
public PlayingField(){
//Sets up buttons
setVisible(true);
while (isRunning){}
setVisible(false);
}
public void actionPerformed(ActionEvent e){
//Does logic for placing ships
//when it is done it'll execute...
isRunning = false;
}
}
希望是在放置所有船只后,while循环终止,窗口被隐藏,构造函数结束。我目前正在做的方式只在我第一次玩游戏时才有效。一旦我尝试重放构建PlayField的游戏就会混乱,因为即使EDT会使isRunning等于false,while循环也无法终止。我觉得有更好的方法可以使用线程方法,但我不熟悉它们。