Есть ли способ просмотреть приложение Swing удаленно? - PullRequest
5 голосов
/ 02 октября 2011

Я хочу, чтобы мое приложение было удобно показывать без необходимости носить ноутбук или распространять запутанное приложение Java.

Есть ли простой способ просмотреть мое приложение Swing в браузере. Мне не обязательно нужны кнопки команд для работы (но было бы неплохо, если бы они работали), я просто хочу видеть пиксели из любой точки интернета. У меня есть графики, построенные из JChart2D.

Редактировать: Экран обновляется после настраиваемого периода и 15 секунд, что типично, но если рабочий стол обновляется каждые 15 секунд, а изображение браузера гораздо медленнее, скажем, 1 минута, это будет нормально .

Редактировать: То, что у меня есть, это в первую очередь настольное приложение, так как оно является настольным приложением и удовлетворяет 98% требований, но если я его увижу или удаленно использую без переписывания, это даст мне лишние 2% (смотри 1%, используй 1%).

Ответы [ 5 ]

4 голосов
/ 10 апреля 2013

Для этой цели недавний Webswing может быть идеальным. Это кажется полностью функциональным. Есть некоторые глюки, и я скучаю по курсорам. Увы, удаленные приложения также отображаются на сервере, хотите вы этого или нет.

2 голосов
/ 02 октября 2011

Не думаю, что я бы порекомендовал это (поскольку это имеет последствия для безопасности и проблемы с брандмауэром), но можно запустить приложение Java / Swing с использованием удаленного сервера X11.

Вот несколько соответствующих ссылок:

но, вероятно, в вашей документации по Linux содержится более актуальная информация.

Другая идея - снять демонстрационный фильм.

2 голосов
/ 02 октября 2011

Существует не так много решений, но этот самый простой способ - JNLP .

JNLP - это технология на основе XML для запуска исполняемых файлов Java через Интернет.Просто представьте, что вы можете указать ресурсы пути к классам в вашем приложении (изображения, JAR-файлы, свойства, файлы и т. Д.), Разбросанные по Интернету и предоставляющие их URL-адреса, вместо того чтобы полагаться на локальную файловую систему, как это делают обычные Java-приложения.Эта функция даст вам возможность автоматически развертывать приложение (то есть устанавливать необходимые файлы приложения и запускать их должным образом), просто указав, где находятся ваши файлы в Интернете.И это гораздо проще, чем апплеты, которые могут создать вам много проблем из-за строгих разрешений в браузере.

Пример JNLP - здесь и здесь .

1 голос
/ 04 октября 2011

Еще одной возможностью (не обязательно хорошей, но простой в реализации) может быть использование класса java.awt.Robot.

Используя этот класс, вы можете периодически делать снимок экрана, используя #createScreenCapture(...), и записывать его на диск, используя javax.imageio.ImageIO.

Тогда было бы просто создать страницу HTML, которая отображала бы это изображение и периодически обновлялась автоматически. Немного сложный и сложный, но может позволить вам повторно использовать существующую инфраструктуру.

0 голосов
/ 30 июня 2013

VNCj ( официальная страница , SourceForge ) - это более старый проект, который обеспечивает реализацию AWT на сервере VNC. Свинг работает поверх этого. В отличие от WebSwing, при запуске VNCj на сервере не отображается пользовательский интерфейс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...