ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
569
569
EMPFEHLEN
-
Howdy,
Hab mal wieder ne Frage zu Layout-Managern. Und zwar: wie kann ich einstellen, dass bei der Vergrößerung/Verkleinerung des Panels/Frames/WasAuchImmer, die Components das Seitenverhältnis beibehalten?
Hab mehrere quadratische Buttons - und ich will verhindern, dass diese rechteckig werden.
Hat jemand ne Ahnung wie ich das anstellen kann?
Danke schonmal für eure Antworten!
MfG - Pasukaru
-
z.B. bei FlowLayout oder GridBagLayout (mit default GridBagConstraints.NONE) wird die Komponentgröße beibehalten.
Gruß Attila
-
Danke für die Antwort - aber das ist nicht mein eigentliches Ziel.
Die Komponenten sollen schon vergrößert werden - jedoch soll das Seitenverhältnis gleich bleiben. Also wenn ich das Fenster vergrößere, wird aus einem quadratischen-Button u.U. ein rechteckiger - das will ich irgendwie vermeiden.
Im Prinzip muss nach dem anpassen der Größe nur die längere Seite an die kürzere angepasst werden - Hab nur leider keine Ahnung, wie ich das bewerkstelligen kann.
Ich hab auch schon mit einem componentListener versucht die bounds und die preferredSize zu verändern - allerdings ohne Erfolg.
- EDIT -
Habs hinbekommen!
Ich hab das Layout auf null gesetzt, und die Größenänderung der Buttons über einen componentListener ausgeführt.
Wen es interessiert - hier ein Code-Ausschnitt:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
JPanel panel = new Panel(); panel.setLayout(null); if( panel.getComponentListeners().length<1 ){ // Um das hinzufügen mehrerer Listener auf jeden Fall zu vermeiden panel.addComponentListener(new ComponentListener() { public void componentShown(ComponentEvent arg0) {} public void componentResized(ComponentEvent arg0) { int w = 1234; // breite berechnen... int h = 4321; // länge berechnen... int min = Math.min(w, h); //Kürzere Seite festellen - //da es sich bei mir um Quadrate handelt //brauche ich kein genaues Seitenverhältnis button.setBounds(x, y, min, min); } public void componentMoved(ComponentEvent arg0) {} public void componentHidden(ComponentEvent arg0) {} }); }
-- Zählt das nun schon als Custom-LayoutManager? Wenn ja, bin ich stolz auf meine erbrachte Leistung.
Geändert von Pasukaru (15.01.11 um 14:10 Uhr) Grund: - EDIT -
Ähnliche Themen
-
Bilder an DIV anpassen und Seitenverhältnis beibehalten?
Von SCIPIO-AEMILIANUS im Forum CSSAntworten: 2Letzter Beitrag: 13.03.09, 17:35 -
LayoutManager und Abstand
Von kloakenratte im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 07.05.08, 08:47 -
LayoutManager Probleme
Von squeeez im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 17.03.08, 19:05 -
LayoutManager - TableLayout und TitledBorder
Von Dwayne im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 17.12.07, 18:25 -
Layoutmanager?
Von the_skywalker im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 02.06.05, 10:04





Zitieren
Login





