所以我正在用Java开发一个多人tic tac toe游戏,我正在建立一个工作服务器/客户端连接,它将改变一个按钮的文本(EX:[]更改为[ X]点击时)。因此,截至目前,我只在服务器GUI上工作,客户端必须输入x或o来更改服务器按钮。我创建了一个测试类,其中包含一个我想要更改的按钮。我为任何熟悉的人使用breezyswing,但我不相信我的问题与它有任何关系。这个课程如下(请不要介意不正确的格式,它在这里搞砸了):
import BreezySwing.*;
import javax.swing.*;
public class ButtonTest extends GBFrame {
private JButton xobutton;
public ButtonTest()
{
xobutton = addButton ("[ ]", 1,1,1,1);
}
public void clientSaidXO(String xo)
{
System.out.println(xo);
xobutton.setText(xo);
}
public void buttonClicked (JButton buttonObj)
{
if(buttonObj == xobutton)
{
}
}
public void start() {
ButtonTest game = new ButtonTest();
game.setSize(250,100);
game.setVisible(true);
}
}
因此,当服务器从客户端接受X或O时,它会调用如下方法:
ButtonTest.clientSaidXO(input);
输入是客户端发送的X或O. 起初我认为我的问题是我没有正确地从客户端接收输入,但我是因为当我在clientSaidXO方法中添加print语句时,它正确地打印了客户端输入。意味着除了xobutton上的setText之外,一切正常。任何有关如何解决这个问题的见解将不胜感激。谢谢!