4

Я думал, что этот вопрос больше подходит для SuperUser, чем для StackOverflow, потому что он не касается реального программирования на Java, хотя программисты могут столкнуться с этой проблемой. В любом случае, позвольте мне начать с некоторой статистики, прежде чем я задам фактический вопрос:

Ноутбук:

  • Windows 7 x32
  • Разрешение экрана 1024 х 768; Nvidia GeForce Go 6200
  • Подключен к рабочему столу через специальную беспроводную сеть
  • Доступ в интернет через рабочий стол

Рабочий стол:

  • Windows 7 x64
  • Разрешение экрана 1920 x 1080
  • Подключен к ноутбуку через специальную беспроводную сеть
  • Доступ в интернет через кабельный модем

Я подключаюсь к своему ноутбуку через удаленный рабочий стол со своего рабочего стола, чтобы использовать преимущества большого экрана. Я занимаюсь программированием на своем ноутбуке (по причинам портативности). Все остальное работает гладко и быстро по удаленному рабочему столу, так как оба компьютера подключены напрямую по беспроводной сети.

Единственная проблема заключается в следующем: приложения Java Swing не отображают графический интерфейс должным образом. Я приобрел приложение Java Swing и отлаживаю его в Eclipse. Вот что я получил, запустив приложение:

Похоже, что нет ничего плохого в том приложении с графическим интерфейсом, которое я отлаживаю, потому что панель управления Java демонстрирует ту же проблему.

Я искал высоко и низко в Google об этом; самое близкое, что я пришел к решению, это. Но, к сожалению, использование -Dsun.java2d.nodraw=true имеет никакого эффекта вообще.

Это происходит только через удаленный рабочий стол. Я пробовал локально, и приложения с графическим интерфейсом отображаются правильно. Для меня это не проблема, поскольку я могу прекратить использование удаленного рабочего стола при разработке приложений Java Swing. Тем не менее, я хотел бы знать, если кто-нибудь сталкивался с этим и нашел какое-либо решение.

PS: Все программное обеспечение (Eclipse, Java JRE и т.д.) Является последними версиями.

6 ответов6

6

Я просто изменил цвет на 32-битный в своем рабочем столе и RDP-клиенте, и Java выглядела идеально.

5

У меня была та же проблема, и изменение глубины цвета не работало для меня. Это:

-Dsun.java2d.d3d=false

казалось, работает на меня:

2

Я могу вам сказать, что в прошлом мне приходилось устанавливать глубину цвета чуть ниже максимальной настройки при просмотре определенных приложений через подключение к удаленному рабочему столу, например Eclipse.

Что касается возможной ошибки в Java VM, обратитесь к этому ответу для получения дополнительной информации. Я очень сомневаюсь, что это так, поскольку вы не получили никаких сообщений об ошибках, касающихся невозможности создания виртуальной машины Java ... но это все же стоит проверить!

1

Моя же проблема была исправлена после того, как я вышел из системы и снова вошел в систему для пользователя, подключенного к удаленному рабочему столу (НЕ просто отключаясь от удаленного декстопа).

1

У меня была ситуация, когда мой графический интерфейс Java не мог полностью рисовать, то есть все содержимое главного окна было устаревшим и не обновлялось при работе на удаленном рабочем столе.

Добавление

-Dsun.java2d.d3d = ложь

также исправил это для меня.

0

Я пытался запустить образ Docker с автоматической установкой IntelliJ или Eclipse в контейнере, но у меня всегда было пустое окно контента для конфиденциальности, лицензии и установки. Я сделал это на компьютере CentOS 7, подключенном через RDP-соединение.

Затем я увидел, что локально установленное приложение OpenJdk Privacy Tool имеет ту же проблему, запускается, но не показывает содержимое приложения, ни кнопок, ни текста ... просто пустой белый экран.

Я сделал поиск по Google и найти некоторые обходные пути, которые все не помогают.

xhost + initx startx _JAVA_AWT_WM_NONREPARENTING = 1 экспорт DISPLAY = localhost:10.0 (и другие варианты решения этой проблемы)

Я пытался установить compiz и так далее ... ничто не помогает!

Решение:

При подключении через RDP к машине CentOS установите цвет Макс. Глубина до высокого цвета 16 бит - не более (не 24 бита, не 32 бита)! Затем вы увидите содержимое таких Приложений / Программ, использующих Swing / Awt / Java, в которых этот контент показывает проблему!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .