Создайте пользовательский интерфейс на Java. Его значок должен быть виден на панели задач. Код должен дождаться пользовательского ввода

#java #swing #user-interface #jframe #jpanel

#java #swing #пользовательский интерфейс #jframe #jpanel

Вопрос:

Я пытаюсь запустить exe-файл (созданный из .jar), который в начале открывает пользовательский интерфейс / окно, и пользователь вводит в него несколько данных. Позже пользователь нажимает «OK» или «Отмена», и программа продолжает соответствующим образом использовать эту информацию. Этот пользовательский интерфейс также должен быть виден на панели задач.

Мне удалось написать пользовательский интерфейс с помощью JPanel.

Проблема в том, что открывающееся окно может «потеряться», когда пользователь переключается на другие программы / браузеры. Это окно невозможно найти в Windows 10 при использовании alt tab.

Я знаю, что в Windows 10 пользовательский интерфейс открывается на панели задач при использовании JFrame.

К сожалению, при использовании JFrame остальной код не ожидает ввода пользователя и продолжает выполняться. Эта часть была решена при использовании JPanel.

Я совершенно сбит с толку тем, как реализовать мой код. Каким было бы оптимальное решение моей задачи?

  • Использовать JFrame? Если да, то как заставить код ждать ввода пользователя?
  • Использовать JPanel? Как сделать из него значок задачи или как сделать так, чтобы окно появлялось поверх всего остального.
  • Другой вариант??

Это должно быть стандартной процедурой для многих приложений. Я не понимаю, почему для этого нет прямого решения. Я ценю любой совет.

Комментарии:

1. frame.setAlwaysOnTop( true );

2. Используйте JDialog вместо JFrame и передайте конструктору значение true, чтобы сделать диалоговое окно модальным (дождаться ввода пользователем)

3. @Palamino Я думал, что JDialog предназначен только для всплывающей информации / использования с ошибками. Возможно ли использовать JDialog как окно с несколькими полями для ввода информации пользователем?

4. @Georgios да, JDialog является подклассом java.awt.Window и может содержать несколько полей, в которые пользователь может вводить информацию

5. @Palamino Прекрасно, хотя после запуска небольшого теста значок на панели задач отсутствует. Окно можно найти в Windows 10 при использовании alt tab. Это основная причина, по которой я хотел избежать JPanel.