Как вывести HashMap в окно JFrame?

Добрый вечер. Появилось небольшое курсовое задание. Я передаю данные с телефона на компьютер по 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();
        }
    }
}
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ответы на вопрос 1
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
Самый тупой вариант это обвернуть answerMap своими хотелками, к примеру методы put и remove и уже в них пихать на форму к примеру в jtable. Тупо но самый быстрый и вариант.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы