GUI skalieren

acevik94

Mitglied
Hallo zusammen,
Ich habe zu Hause 2 Notebooks die unterschiedliche Auflösungen haben.
Das eine hat einen 4k Monitor und das andere hat die max. Auflösung 1366x768.
Nun... gibt es eine Möglichkeit dem Programm zu sagen, dass es den JFrame bzw.
die Komponente so skalieren soll, dass man sie noch erkennt?
Ps: Ja, ich kann eine int Variable "Scale" deklarieren und alle Grössen mit Scale multiplizieren
aber das finde ich etwas "schlecht programmiert". Gibt es andere Möglichkeiten?

Gruss
 

truesoul

Top Contributor
Also wenn es um ein Fullscreen geht dann:

Java:
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setUndecorated(true);
frame.setVisible(true);
 

dzim

Top Contributor
JEP 263 zu Java 9 beschreibt explizit HiDPI Verbesserungen, den darum geht es hier, nicht um full screen.
https://docs.oracle.com/javase/9/whatsnew/toc.htm#JSNEW-GUID-C23AFD78-C777-460B-8ACE-58BE5EA681F6

Ich glaube, du kannst für Swing explizit System properties setzen.
JavaFX skaliert automatisch. Für Java 8 ging das im Wesentlichen schon auf Windows und Mac, solange die Bildschirme, wenn mehrere angeschlossen sind, alle die selbe Auflösung verwenden.
Der Prozess sollte in Java 9 verbessert worden sein und ich dachte auch für Swing automatisch geschehen.
Siehe https://stackoverflow.com/questions/26877517/java-swing-on-high-dpi-screen

Der folgende Artikel beschäftigt sich auch damit und erwähnt die Java.exe Flags.
http://news.kynosarges.org/2015/06/29/javafx-dpi-scaling-fixed/
Les mal die erwähnten Mailinglisten...

Grüsse
 

Ähnliche Java Themen

Neue Themen


Oben