Okno JavaFX aplikace se zmenší při vypnutém monitoru

David

  • ***
  • 116
    • Zobrazit profil
Ahoj, od aktualizace Windows 10 na 20H2 mám problém s JavaFX aplikací. Měla by běžet na fullscreen bez rámečku, 1920x1080 rozlišení je natvrdo nastavené. Při vypnutém monitoru (a restartu počítače) ale naběhne ořízlá; je viditelná jen malá část a jinak plocha, nicméně na plochu nejde klikat.

Děje se tak asi jen po restartu; při vypnutí a zapnutí monitoru se okno neořízne. Jen při restartu počítače (aplikace nabíhá sama).

Java je OpenJDK 15.0.1.

Napadá vás prosím, co bych s tím mohl dělat? Ovladače i software od Dell monitoru mám nainstalovaný.


Re:Okno JavaFX aplikace se zmenší při vypnutém monitoru
« Odpověď #1 kdy: 28. 01. 2021, 09:28:57 »
Mně něco podobného dělají aplikace (asi jen ty založené na WebKitu/Blinku) na 4K monitoru. Neděje se to po restartu počítače, ale po probuzení – může to tedy být podobný průběh, že se aplikace zobrazuje na monitoru, který v tu chvíli ještě není zapnutý. To, co chybí, je horní pruh aplikace – zůstane tam vykreslený předchozí obraz, případně později černá, a aplikace v tom místě nereaguje na myš. Není to ale chyba aplikace, nýbrž systému – myš nereaguje ani na záhlaví okna a tlačítka pro minimalizaci a zavření.

Bohužel se mi ale nikdy nepodařilo zjistit, čím přesně to je. Obvykle pomáhá ten monitor vypnout a znovu zapnout. Také myslím ve Windows existuje nějaká magická kombinace kláves na restart grafického subsystému. Napadá mne jediná věc – mám pocit, že už jsem to nějakou dobu nezaznamenal. Na vašem místě bych tedy zkusil nainstalovat všechny dostupné aktualizace Windows.

Re:Okno JavaFX aplikace se zmenší při vypnutém monitoru
« Odpověď #2 kdy: 28. 01. 2021, 09:49:45 »
Trochu střelba od boku, ale při startu počítače bez připojeného monitoru je možná rozlišení plochy v čase spuštění aplikace jiné než čekáte. A možná se to rozlišení změní až při připojení monitoru.
Dříve snad byly nějaké podobné problémy s VNC na stroj bez připojeného monitoru, ale už je to dost dávno.
Zkuste si přidat logování, a případně reagovat na eventy změny rozlišení.

David

  • ***
  • 116
    • Zobrazit profil
Re:Okno JavaFX aplikace se zmenší při vypnutém monitoru
« Odpověď #3 kdy: 28. 01. 2021, 09:56:09 »
Děkuji za odpovědi. To právě čekám, že Windows se bez monitoru tváří, že mají malé rozlišení. Proto jsem v aplikaci natvrdo nastavil velké rozlišení. Možná by vážně pomohlo, jak píšete, detekovat změnu rozlišení - jenže to asi není tak jednoduché; nicméně zkusím.

https://stackoverflow.com/questions/7455283/detect-screen-resolution-change-made-by-user-java-listener
https://stackoverflow.com/questions/6335407/how-do-i-detect-display-resolution-change-in-java