Пустой компонент рендеринга с несколькими мониторами - PullRequest
1 голос
/ 10 октября 2011

Я разрабатываю приложение AWT.Он работает на одном мониторе.Однако при использовании с несколькими мониторами:

  1. Часто диалоговые окна открываются пустыми: полное черное пятно размером с диалог, даже системные значки верхнего окна не отображаются.После перемещения или после любого действия, выполненного с этой пустой частью - изменение размера, перемещение и т. Д., Содержимое отображается нормально.

  2. Когда приложение «помещено» на дополнительный монитор.Диалоги открываются на основном мониторе только с проблемами, описанными выше.

Несмотря на то, что проблема не признана согласованной при использовании с Win 7, проблемы чаще возникают в Windows XP.

Это стандартная ошибка Java, такая как эта и связанные с ней?

Есть ли обходные пути?

1 Ответ

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

Я также столкнулся с некоторыми проблемами, связанными с несколькими мониторами: в частности, класс Robot сильно нарушен в некоторых JVM при настройке нескольких мониторов.Например, почти невозможно получить последовательные снимки экрана, когда несколько мониторов подключены к системе OS X.

Есть ли обходные пути для одного и того же?

Хорошо, есливы запрашиваете обходной путь, есть очевидный вариант относительно того, что вы описали: если какое-либо действие перемещения / изменения размера вынудит контент отображаться нормально, то вы можете программно вызвать поддельное движение или изменить размер действия, которое может быть обходным решением для вашегоПроблема.

Сделано так: в одном приложении нам пришлось использовать (неработающий) сторонний API для графического отображения, у которого были проблемы с отображением.В одном случае график не будет отображаться правильно, если мы не изменим размер окна: это была известная ошибка, но она еще не исправлена.Наше решение заключалось в принудительном изменении размера окна на один пиксель.Это дурацкий обходной путь, но это сработало.До сих пор ни один пользователь не жаловался (действительно очень трудно определить однопиксельное изменение размера).

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

...