我尝试在2个带有图形和所有设备的设备之间编写一个Tic Tac Toe游戏,但是我遇到了问题。 按下按钮后,我更改其图标,然后通过套接字发送数据并使用阻止命令来获取响应。我的问题是,只有从套接字获得响应后,才能看到按钮图标中的更改。 有谁知道该怎么办?
我用python学习套接字,直到最近我才决定尝试用java编写带有套接字的程序,所以我对Java没有太多的经验。 我试图在等待响应之前延迟程序,并获得2个响应(一个是自动的),但是它们都失败了。我还尝试使用计时器在每个刻度上更新按钮的图标,这也没有用。
这是我代码中的相关部分
Socket sock;
PrintWriter pr;
InputStreamReader in;
BufferedReader bf;
public void click(int x, int y)
{
buttons[x][y].setIcon(new ImageIcon("C:\\Users\\shaked\\Desktop\\red_Pin.jpg"));
String msg = (char)x + "," + (char)y;
try {
System.out.println("SLEEPING");
Thread.sleep(1000);
}
catch(InterruptedException ex)
{
Thread.currentThread().interrupt();
}
pr.println(msg);
pr.flush();
String enemy_move = bf.readLine();
}
答案 0 :(得分:0)
您需要从其他线程运行通信。 像这样创建一个新的。
new Thread() {
@Override
public void run() {
// code in here
}
}.start();