Добрый вечер. Появилось небольшое курсовое задание. Я передаю данные с телефона на компьютер по Wi-Fi через сокеты. У меня 6 ролей в андроид-приложении и от каждого я получаю определенный ответ и записываю его в HashMap. Приложение нужно сделать на JFrame. Как вывести содержимое моей Map в окно JFrame? Если можно, то с примером кода, т.к. давно не работал с JFrame. Основная проблема заключается в том, что HashMap может быть пустой, т.к. никто не нажмет на кнопку сразу, а нажмет, к примеру, через 30 секунд. Нужно, чтобы окно обновлялось и подгружало новые данные. Ответы вроде "загугли" или "да ты вообще ничего не знаешь, иди учи" не принимаются. Спасибо за понимание. Данный класс обрабатывает HashMap и отправляет ее в другой класс с JFrame. Заранее спасибо.
public class Server{
private static Socket socket;
private static ServerSocket serverSocket;
private static InputStreamReader inputStreamReader;
private static BufferedReader bufferedReader;
private static String message;
private static int user_id;
private static boolean answer;
private static String answerString;
private static Map<String,Object> answerMap = new HashMap<String,Object>();
public static Map getAnswerMap() {
return answerMap;
}
public static void setAnswerMap(Map answerMap) {
Server.answerMap = answerMap;
}
public Server(){}
public static int getUser_id() {
return user_id;
}
public static void setUser_id(int user_id) {
Server.user_id = user_id;
}
public static boolean isAnswer() {
return answer;
}
public static void setAnswer(boolean answer) {
Server.answer = answer;
}
public static String getAnswerString() {
return answerString;
}
public static void setAnswerString(String answerString) {
Server.answerString = answerString;
}
@SuppressWarnings("unchecked")
public static void main(String[] args) {
try {
serverSocket = new ServerSocket(6000);
while (true){
socket = serverSocket.accept();
inputStreamReader = new InputStreamReader(socket.getInputStream());
bufferedReader = new BufferedReader(inputStreamReader);
message = bufferedReader.readLine();
int[] messageToInt = new int[message.length()];
for (int i = 0; i < message.length(); i++){
messageToInt[i] = message.charAt(i) - '0';
user_id = messageToInt[0];
if (messageToInt[1] == 1){
answer = true;
answerString = "Засчитано";
} else {
answer = false;
answerString = "Не засчитано";
}
answerMap.put(user_id,answerString);
}
for (Object key : answerMap.keySet()) {
System.out.println("Key: " + key);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}