niedziela, 25 listopada 2007

problemy z odswieżaniem aplikacji Swing pod Windows XP przy niestandardowym ustawieniu DPI

Jakiś czas temu napotkałem na problem odrysowywania fragmentów okna w aplikacjach stworzonych w Javie z wykorzystaniem biblioteki Swing.
Problem występował na Windows XP przy ustawionym niestandardowym DPI ekranu (u mnie było 120 DPI) i objawiał się np. przy przewijaniu tabelek w aplikacjach javowych lub przy przełączaniu na okno (wtedy obraz pod myszą źle się odświeża):





Po długich poszukiwaniach udało mi się ogólnie zlokalizować przyczynę i znaleźć przynajmniej częściowe rozwiązanie - przełącznik maszyny wirtualnej:

-Dsun.java2d.opengl=true

w efekcie renderowanie komponentów Swinga odbywa się nie przez DirectX tylko przez Open GL.
Pewnie istnieje inne rozwiązanie tego problemu, jeśli ktoś na to wpadł - niech da znać !

0 komentarze: