Java: графика в Linux - PullRequest
       5

Java: графика в Linux

5 голосов
/ 17 января 2010

Нужно ли устанавливать X-Windows на Linux-box, чтобы Java отображала полноэкранную графику?

Ответы [ 4 ]

5 голосов
/ 17 января 2010

Ну, "полноэкранная графика" немного расплывчатая.

В любом случае, очевидно, что предпринимаются попытки получить доступ к кадровому буферу из Java: Инструментарий кадрового буфера .

Целью этого проекта является создание кода, который легкая одноранговая реализация на основе кадрового буфера для AWT и Swing. Цель этого кода - удалить зависимость от X или другие графические слои, так что графика может быть перенаправлена ​​на кадровый буфер (например, необработанный буфер, VNC и т. д.). Этот пример реализация будет отдавать предпочтение чисто Java-решениям с доступны точки расширения для ввода собственных ресурсов.

См. Проектное предложение: fbtoolkit .

4 голосов
/ 12 января 2013

Другие авторы, по-видимому, полагают, что «полноэкранная графика в Java» обязательно означает «работающую реализацию AWT». Это, конечно, не обязательно верно, поскольку вполне возможно (некоторые даже сказали бы, что желательно) использовать Java без AWT.

Cairo - это библиотека рендеринга 2D-графики, которую можно использовать из Java, а также без X11. На первый взгляд все выглядит так, как будто его можно настроить для этого сценария. Вам необходимо настроить его на использование рендеринга OpenGL и предоставить подходящую реализацию OpenGL, отличную от X11 (например, MesaGL с драйвером устройства 'fbdev').

SDLJava - это порт Java популярной библиотеки для разработки игр на C SDL. Это также должно быть в состоянии выполнить то, о чем вы просите, хотя, похоже, оно не обновлялось с 2005 года, поэтому, если у вас возникнут какие-либо проблемы с ним, поддержка может не поступить.

В качестве альтернативы вы всегда можете использовать довольно простой код C для открытия и настройки кадрового буфера, а затем использовать JNI для возврата отображенного в памяти кадрового буфера в качестве байтового буфера прямого режима, чтобы вы могли рисовать его напрямую. 1011 *

1 голос
/ 15 июня 2016

На встроенном устройстве, таком как Raspberry Pi, если вы не хотите проходить полный X11 со стандартным Java AWT + Swing, тогда этот https://github.com/ttww/JavaFrameBuffer проект для прямой записи в буфер кадров кажется интересным .

Альтернативой может быть, например, использование. SWT на GTK или Qt Jambi для записи в буфер кадров (и GTK, и QT могут напрямую использовать FB без X11).

1 голос
/ 17 января 2010

Чтобы действительно отобразить что-то графическое на экране, да. Бад, есть безголовая версия JRE, которая просто запускает его. Вы не увидите никакого графического вывода, но оно запустится. Кроме того, вы можете войти в систему удаленно и использовать переадресацию X для запуска кода Java на сервере, но позволить клиенту обрабатывать отображение графики.

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