這個tictactoe程序是一款2人遊戲。在我開始編碼之後,我製作的GUI是框架和按鈕。實際上我的程序正在使用這種編碼。我的tictactoe遊戲中的每個按鈕都有相同的代碼。如何做到這一點?
private String letter= " ";
private int count= 0;
private void btn7ActionPerformed(java.awt.event.ActionEvent evt) {
count++;
if(count == 1 || count == 3 || count == 5 || count == 7 || count == 9){
letter = "X";
} else if(count == 2 || count == 4 || count == 6 || count == 8 || count == 10){
letter = "O";
}
if(evt.getSource() == btn1){
btn1.setText(letter);
} else if(evt.getSource() == btn2){
btn2.setText(letter);
} else if(evt.getSource() == btn3){
btn3.setText(letter);
} else if(evt.getSource() == btn4){
btn4.setText(letter);
} else if(evt.getSource() == btn5){
btn5.setText(letter);
} else if(evt.getSource() == btn6){
btn6.setText(letter);
} else if(evt.getSource() == btn7){
btn7.setText(letter);
} else if(evt.getSource() == btn8){
btn8.setText(letter);
} else if(evt.getSource() == btn9){
btn9.setText(letter);
}
}
private void btn1ActionPerformed(java.awt.event.ActionEvent evt) {
count++;
if(count == 1 || count == 3 || count == 5 || count == 7 || count == 9){
letter = "X";
} else if(count == 2 || count == 4 || count == 6 || count == 8 || count == 10){
letter = "O";
}
if(evt.getSource() == btn1){
btn1.setText(letter);
} else if(evt.getSource() == btn2){
btn2.setText(letter);
} else if(evt.getSource() == btn3){
btn3.setText(letter);
} else if(evt.getSource() == btn4){
btn4.setText(letter);
} else if(evt.getSource() == btn5){
btn5.setText(letter);
} else if(evt.getSource() == btn6){
btn6.setText(letter);
} else if(evt.getSource() == btn7){
btn7.setText(letter);
} else if(evt.getSource() == btn8){
btn8.setText(letter);
} else if(evt.getSource() == btn9){
btn9.setText(letter);
是的,它實際上是工作,但我的代碼問題是我需要把代碼放在每個按鈕,例如, button7,button1(這些只是我的按鈕的示例),代碼是按鈕執行的操作。
我只想要一個單一的命令,每個按鈕的執行,我不想複製粘貼在每個按鈕,因爲它們是相同的代碼。我認爲有一個代碼可以做到這一點,你怎麼看?請幫忙!
創建單一'ActionListener'然後註冊相同的所有按鈕。然後使用'event.getSource()'確定按鈕,並相應地完成其餘的工作。 – Ved
嗨!在我生成的代碼中,我發現這行btn1.addActionListener(new java.awt.event.ActionListener(){public void actionPerformed(java.awt.event.ActionEvent evt){{{{0}} {你認爲什麼是錯的? – Jayseer