Привет, добрый человек, переполнение стека,
У меня есть бизнес-проблема, и я хотел бы получить некоторые ответы / указания / идеи о том, как ее решить. возможно, это было упомянуто в какой-то другой теме, но до сих пор я искал в Интернете, но не смог найти прямой ответ ..
Бизнес-проблема. Один из наших клиентов хотел бы иметь веб-приложение на Java, но запускать его как настольное приложение. т. е. клиент хотел бы дважды щелкнуть значок где-нибудь на своем рабочем столе и запустить окно браузера, указывающее на URL / контекст веб-приложения, которое будет работать локально на сервере Jetty, который получит запускается, когда пользователь нажимает на иконку.
До сих пор я выяснил, как упаковать свое приложение и создать программу запуска exe (используя install4j) (в основном я создал исполняемый файл JAR с сервером Jetty и мое веб-приложение, упакованное вместе с классом запуска, который запустит сервер Jetty и укажите на контекст веб-приложения).
Моя проблема в том, что я понятия не имею, как запустить (собственный) веб-браузер и указать ему URL-адрес / контекст веб-приложения.
Я нашел этот код, который запускает браузер пользователя по умолчанию:
String url = "http://www.google.com";
java.awt.Desktop.getDesktop().browse(java.net.URI.create(url));
что хорошо, но недостаточно хорошо. и причина его недостаточно хороша в том, что когда пользователь закрывает браузер, сервер Jetty все равно будет работать на заднем плане. Я хочу, чтобы, когда пользователь закрывал браузер, я также хотел обнаружить это событие и закрыть сервер Jetty (без использования какого-либо активного X или JavaScript, пожалуйста)
Кто-то упомянул о создании JPanel и включил в него собственный браузер с использованием некоторого нативного API свинга DJ, но я понятия не имею, как это сделать.
Есть идеи?
Большое спасибо заранее