Я пытаюсь написать игру 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();
}