Probleme mit der Bildschirmauflösung

Status
Nicht offen für weitere Antworten.

dweiner

Mitglied
Hi,

ich habe mir mit Swing eine wunderhübsche GUI gebastelt - was mich auch einiges an Nerven und Zeit gekostet hat, bis ich das wie gewünscht alles hinbekommen habe. Meine Bildschirmauflösung ist 1240 x 1024 (wie gesagt: da sieht alles wunderbar aus). Nun soll mein Programm in einem Labor eingesetzt werden, in dem die Bildschirme lediglich eine Auflösung von 1024 x 768 fahren können (und eben nur diese Auflösung). Das Problem ist, dass meine GUI dann wirklich total verzerrt ist und irgendwelche Textboxen etc. sogar gar nicht mehr zu sehen sind.....

Was kann man dagegen machen? Kann man da irgendwelche Einstellungen machen? Oder müsste ich tatsächlich meine GUI nochmal komplett neu programmieren und an die entsprechende Bildschirmauflösung anpassen (= worst case)?

Bitte um Rückantworten von Swing-Experten!

Danke schon mal!

Gruß
Dominik
 
Code:
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
setSize(screen.width, screen.height);
 
Verwende einen ordentlichen Layout-Manager und kein null-Layout und du hast diese Probleme nicht!
 
Danke schon mal für oben stehendes Codeschnipsel - ich werde es ausprobieren.....

Was ist mit "ordentlichem Layout-Manager" gemeint? Versteh ich grad nicht ganz.....

Meld dich nochmal!

Gruß
Dominik
 
Hallo,

das GridBagLayout ist ein sehr mächtiges und vor allem gutes Layout. Es ist zwar im ersten Moment etwas kompliziert, aber wenn man es verstanden und mal angewendet hat, wird man es nicht mehr missen wollen.
Aber wie gesagt, es dauert eben ein bisschen bis man es verinnerlicht hat.

Grüße Oli
 
Oder das FormLayout von jgoodies.com oder das TableLayout (imho nicht ganz so kompliziert wie das GridBagLayout).
 
Hi,

also ich finde das GridBagLayout nicht kompliziert. Wie gesagt, wenn man sich mal damit beschäftigt hat und es verinnerlicht hat, benutzt man es nur noch...
Is einfach geil...
 
Aber mit dem oben genannten Code, sollte es doch schon funktionieren, oder?
Also:

Code:
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); 
setSize(screen.width, screen.height);

Wenn ich jetzt einen anderen Layout-Manager nehmen würde, würde das ja im Umkehrschluss schon bedeuten, dass ich meine GUI tatsächlich nochmal neu konzipieren und modellieren müsste.....

Gruß
Dominik
 
dweiner hat gesagt.:
Wenn ich jetzt einen anderen Layout-Manager nehmen würde, würde das ja im Umkehrschluss schon bedeuten, dass ich meine GUI tatsächlich nochmal neu konzipieren und modellieren müsste.....
Ein GUI ohne LayoutManager kannst du vergessen, das kannst du keinem Kunden geben.
 
Also als Grundlage habe ich das BorderLayout genommen und dies dann weiter verschachtelt mit FlowLayouts und GridLayouts.......

Es ist ja nicht so, dass ich keine Layout-Manager genommen habe......

Gruß
Dominik
 
Jeder LayoutManager verhält sich anders bei resize. Wie genau, steht in der Java Doc.
Du kannst auch mit den 'primtiven' LayoutManagern eine schöne GUI bauen, du musst einfach das resize Verhalten testen, nach Möglichkeit keine harte PreferredSize übergeben usw.
JScrollPanes und JSplitPanes an der richtigen Stelle können ebenfalls Wunder bewirken.
Gehe niemals von einer bestimmten Auflösung aus. Dein Dialog/Fenster muss sich immer sauber resizen können.
 
Da gebe ich Wildcard recht. Und nochmal zu dem GridBaglayout. So schlimm ist es echt net, also wer schon ein bisschen GUI - Erfahrung hat, kann sich des in 3 Stunden beibringen. Und bei google kann man auch gute Dokus mit zweckmäßigen Beispielen finden...
Selbst die Doku von Sun ist net schlecht.

Also mutig ran an den Speck... ;-)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben