实现以下代码的正确方法是什么?我想让 takeTurn() 方法等待玩家点击网格上与他想要选择的棋子相对应的按钮。(Button
对象有实例变量int col, row
和extend JButton
。)
int selectedCol, selectedRow;
void takeTurn() {
System.out.print(name + "'s turn. ");
// Get player to select a piece
selectedCol = -1;
selectedRow = -1;
while (selectedCol == -1 && selectedRow == -1) {
try {
wait(500);
} catch (InterruptedException e) {
}
}
System.out.println(selectedCol + " " + selectedRow);
}
@Override
public void actionPerformed(ActionEvent e) {
Button b = (Button)e.getSource();
selectedCol = b.col;
selectedRow = b.row;
}
运行给出Exception in thread "main" java.lang.IllegalMonitorStateException
。