#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.