SWT - GUI Positionierung auch mit relativen werten möglich?

Tinobee

Mitglied
hallo, wie kann man einem gui die position relativ zur bildschirmgröße zuteilen? ich meine, wenn ich meine gui auf einem 19" monitor entwickle und die x- und y- werte setze, passen sie nicht mehr auf einem 17-Zöller oder einem notebook. ich kann jedoch keine info zur positionierung finden, die darüber auskunft gibt.

weiß da jemand mehr oder wie man das sonst lösen könnte?

tino
 
Mach das doch von der Auflöung abhängig.
Mit:

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();

bekommst Du die Auflösung.
hoehe = (dim.getSize().width - 800) / 2;
breite = (dim.getSize().height - 375) / 2;

Hier positioniere ich einen Gui der 800*375 ist genau mittig.
Vielleicht hilft Dir das ein wenig weiter
 
Zuletzt bearbeitet:
Ähm, warum 'so kompliziert' berechnen lassen.....?
Nutze einfach Layouts.... Zum Beispiel das GridLayout. Damit bist Du sehr flexibel und hast solche Probleme nicht.
 
besteht die möglichkeit, etwas ausführlicher zu beschreiben, wie das gehen könnte? denn ich positioniere das gui selbst ja auf dem bildschirm und nicht weitere elemente im gui. entweder hast du das problem falsch verstanden oder ich kann mir nicht vorstellen, wie du das umsetzen willst.

von daher, bitte mal eine beschreibung nachreichen :)

gruß, tinobee
 
Mir wäre es auch neu wenn man die Bildschirmposition des GUI per Layout bestimmen könnte oO
Ich glaub du hast das mit den einzelnen Komponenten verwechselt ;) oder nur überlesen :)
 
Mach das doch von der Auflöung abhängig.
Mit:

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();

bekommst Du die Auflösung.
hoehe = (dim.getSize().width - 800) / 2;
breite = (dim.getSize().height - 375) / 2;

Hier positioniere ich einen Gui der 800*375 ist genau mittig.
Vielleicht hilft Dir das ein wenig weiter

Das ist ja nicht schlecht allerdings gibt es dafür einen Befehl der das ganze für einen erledigt.

setLocationRelativeTo(null);

vor dem setLocationRelativeTo(null); steht entweder this wenn Sie von JFrame erben oder der Name des Fensters.
Davor solte auch setSize(x, y); stehen. Danach sollte dann setVisible(true); sein.
 
ok, das probiere ich mal. hatte mich schon ernsthaft gefragt, ob bei sun noch niemand auf die idee gekommen war, dieses feature zu implementieren und man für jede dialogshell extra so eine berechnung anstellen muss.

hoffe, dass ich das hinbekomme...

gruß, tinobee
 
also wie ich das sehe, funktioniert das nur in swing. diese funktion ist swt nicht bekannt. gibts vielleicht noch eine andere möglichkeit?

außerdem hab ich das problem, dass ich den FileDialog, welcher per selectionEvent den menüBar elementen zugwiesen wird, nicht eingemittet werden kann, weil die fd.setLocation() methode nicht bekannt ist und folglich nicht genutzt werden kann.

wie kann ich das problem lösen?
 
Zurück