Java 如何从不同的类操作类中的变量?
正在用Java编写一个简单的tic-tac-toe游戏 我有一个名为GameHelpers的类。这个类应该包含游戏的有用方法。游戏发生在另一个班级 GameHelpers中的一个方法是ResetGame。此方法应将tic tac趾板上所有9个按钮上的文本设置为空白,再次将其设置为启用,并将变量设置为1 这是它的代码:Java 如何从不同的类操作类中的变量?,java,class,Java,Class,正在用Java编写一个简单的tic-tac-toe游戏 我有一个名为GameHelpers的类。这个类应该包含游戏的有用方法。游戏发生在另一个班级 GameHelpers中的一个方法是ResetGame。此方法应将tic tac趾板上所有9个按钮上的文本设置为空白,再次将其设置为启用,并将变量设置为1 这是它的代码: public class GameHelpers { public void resetGame(){ for(int i=0;i<3;i++){
public class GameHelpers {
public void resetGame(){
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
buttons[i][j].setEnabled(true);
buttons[i][j].setText("");
count = 1;
}
}
}
}
buttons[]是游戏主类TictaToe中的一组JButton
这种方法以前是在游戏的主要类Tictatcoe中使用的。但是现在它在另一个类中,它无法到达TicTacToe类中的按钮并操纵它们
我在Tictatoe中创建了get和set方法,但是如何从GameHelpers激活它们呢
如何使GameHelpers中的方法工作?您可以获得通过ActionEvent的getSource方法按下的source按钮 例如:
public void actionPerformed(ActionEvenet e){
JButton sourceBtn = (JButton) e.getSource();
String text = sourceBtn.getText().trim();
if (text.isEmpty()) { // see if x/o assigned yet
sourceBtn.setText(....); / "X" or "O" depending on logic
}
}
这样,所有9个按钮都可以共享完全相同的ActionListener,程序仍然可以工作
编辑
您在评论中声明:
为什么要修剪呢
我想这里有一个tic-tac-toe游戏,如果是这样的话,你不想在已经显示了X或O文本的JButton中添加X。如果您可能给JButton一个文本空格,trim将去掉任何前导或尾随空格,并将文本更改为,您将知道它可以接受新文本,X或O。如果您不需要它,则不要使用它。您可以获得通过ActionEvent的getSource方法按下的source按钮 例如:
public void actionPerformed(ActionEvenet e){
JButton sourceBtn = (JButton) e.getSource();
String text = sourceBtn.getText().trim();
if (text.isEmpty()) { // see if x/o assigned yet
sourceBtn.setText(....); / "X" or "O" depending on logic
}
}
这样,所有9个按钮都可以共享完全相同的ActionListener,程序仍然可以工作
编辑
您在评论中声明:
为什么要修剪呢
我想这里有一个tic-tac-toe游戏,如果是这样的话,你不想在已经显示了X或O文本的JButton中添加X。如果您可能给JButton一个文本空格,修剪将去掉任何前导或尾随空格,并将文本更改为,您将知道它可以接受新文本,X或O。如果您不需要它,就不要使用它。谢谢,它起作用了!但我只写了:jbuttonsourcebutton=jbuttone.getSource;sourceButton.setTextX;为什么要修剪?谢谢,它成功了!但我只写了:jbuttonsourcebutton=jbuttone.getSource;sourceButton.setTextX;为什么要修剪呢?