Ответ 1
Вы должны быть в состоянии "действительно полноэкранный" с GraphicsDevice.setFullScreenWindow (window)
. Однако из-за ошибок в наиболее популярных Java-режимах это может не работать на системах с определенными "сломанными" версиями в серии 1.6 = Java 6. Я не тестировал это полностью, так что может быть, что патч еще не распространился на общее население.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7057287
Фон/Теория
ОК, так что здесь идет слишком много информации, и не хватает справки... Вот немного, почему это не сработало правильно...
Нет рабочего стола Linux
Операционные системы на базе Linux на компьютерах ПК, а также другие Unices (с частичным исключением для MacOSX) обычно используют X Window System (aka X11). В разделе X у вас есть сервер X (обычно, что-то вроде "видеодрайвера" ) и клиенты, которые чаще всего подключаются к нему с одного компьютера (loopback).
Макет и размещение окон контролируется специальной клиентской программой, называемой Window Manager. Он отвечает за декорирование окон (например, рисование заголовков или ручек изменения размера) и их позиционирование.
Ваша программа будет X-клиентом. Он может запрашивать, но не требовать - размещение на экране в определенном месте или в определенном размере. Различные менеджеры окон больше (или меньше) склонны давать вам то, что вы хотите.
Кроме того, большинство рабочих столов прекрасно работают (иногда)
Теперь большинство настольных компьютеров Linux используют Gnome Desktop, и второе место для K Desktop занимает второе место, а некоторые другие довольно широко используются. Что "приятно", так это то, что обе эти среды рабочего стола (а также некоторые другие, такие как XFCE для компьютеров младшего уровня) соответствуют стандартам FreeDesktop.org Window Manager Hints.
(Super-over-simplification:) Как правило, на одном или нескольких краях экрана будут панели. Обычно там только один, сверху, но есть много вариантов. Эти области панели не считаются "частью экрана", поэтому диспетчер окон сообщает вашему приложению "нет", что за пределами области, в которой вам разрешено играть, этот экран не 1920 × 1080, а только 1890 × 1080. "Конечно, это может быть совершенно иное расположение, чем то, что вы ожидали при написании своего приложения, и вы можете быть на моем нетбуке с физическим экраном размером 800 × 480, притворяясь, что он всего 780 × 480.
Для 99% приложений это замечательно. Windows не мешает панели, поэтому вы всегда можете добраться до панели для критических элементов управления, например, при нажатии Mute или переключении на другую программу или что-то в этом роде.
Эти" подсказки "позволяют запросить, чтобы окна верхнего уровня обрабатывались специально. Например, вы можете запросить, чтобы у вас не было заголовка заголовка или сокращенной строки заголовка типа" палитры "; вы можете запросить пропустить в списке окон или панели задач или обзоре действий или как любой другой интерфейс может быть использован для отображения активных окон; или вы можете запросить действительно полноэкранный режим и оттолкнуть все остальное, даже панели.
Спецификация здесь: http://standards.freedesktop.org/wm-spec/wm-spec-latest.html
И ошибка:
В принципе, спецификация подсказок диспетчера окон не выполнялась должным образом Sun/Oracle (или Red Hat, которые скопировали Sun/Oracle или, возможно, IBM, потому что они, вероятно, сделали то же самое, но я не вижу никого жалуясь на них)...
Несмотря на то, что я вижу некоторые проблемы в отношении того, является ли это ошибкой (в частности) с помощью диспетчера окон K Desktop Environment (KWin), поскольку, по-видимому, эта ошибка появляется только в K, а не в Gnome, XFCE и друзья.
обходным
Помимо исправления вашей среды выполнения Java (и/или ваших клиентов), единственным реальным решением будет использование специфичных для платформы Java-библиотек (возможно, захват основных объектов AWT с использованием отражения... eww...) и установка правильного окна намеки, сами.
Да, эта грубая...