setText方法不起作用?

时间:2014-06-08 04:17:26

标签: java multithreading button jbutton settext

所以我正在用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之外,一切正常。任何有关如何解决这个问题的见解将不胜感激。谢谢!

0 个答案:

没有答案