ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
498
498
EMPFEHLEN
-
Hallo Leute,
ich habe ein JFrame welches von der Größe her ca. ein viertel des Bildschirmes einnimmt. Auf diesem JFrame ist eine Scrollbox und auf dieser ein JPanel. Nun habe ich auf diesem JPanel mit dem GridBagLayout mehrere Textfelder Buttons und ein Jtable positioniert. Es sieht auch alles ganz gut aus. Wenn ich das JFrame zur Laufzeit maximiere sieht alles ok aus, wenn nichts in den Textfeldern drinsteht. Sobald ich jedoch etwas in die Textfelder reinschreibe, und dann das JFrame maximiere, dann vergrößern sich die Textfelder automatisch in der Horizontale. Ich habe schon probiert verschiedene Einstellungen bei setMaximumSize und setMinimumSize vorzunehmen, schaffe es aber nicht, die Textfelder dazu zu bringen, dass diese beim Maximieren des Frames sich nicht vergrößern.
Wie kann ich das machen?
Gruß
-
21.09.04 23:57 #2
- Registriert seit
- Aug 2004
- Beiträge
- 96
Versuchs mal mit setPreferredSize() und setze den GridBagConstraint beim Textfeld
c.fill = GridBagConstraints.VERTICAL; oder c.fill = GridBagConstraints.NONE;
-
Hallo,
das habe ich schon probiert, hat nichts gebracht.
GrußGruß AKST
-
Dann zeig bitte mal den relevanten Code. Normalerweise hat das mit der Ausdehnung zu tun, die bem GBL eingetragen wird.
-
Hallo, ich werde heute abend nochmal ein paar Einstellungen an weightX und weightY vornehmen, wenn das nichts gebracht haben sollte, dann werde ich mal ein wenig Code reinkopieren.
GrußGruß AKST
-
Hallo,
leider hat weightx, weitghty nicht den gewünschten Erfolg gebracht. Ich habe mal den Code der Textfelder eingefügt:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
tField_V_Name.setAlignmentX((float) 0.5); tField_V_Name.setMaximumSize(new Dimension(6, 21)); tField_V_Name.setPreferredSize(new Dimension(6, 21)); tField_V_Name.setHorizontalAlignment(SwingConstants.LEFT); tField_Geb.setMaximumSize(new Dimension(6, 21)); tField_Geb.setMinimumSize(new Dimension(6, 21)); tField_Geb.setMargin(new Insets(1, 1, 1, 1)); tField_Geb.setHorizontalAlignment(SwingConstants.LEFT); tField_Tel.setMaximumSize(new Dimension(6, 21)); tField_Tel.setMinimumSize(new Dimension(6, 21)); tField_Tel.setHorizontalAlignment(SwingConstants.LEFT); tField_Name.setMaximumSize(new Dimension(6, 21)); tField_Name.setMinimumSize(new Dimension(6, 21)); tField_Name.setHorizontalAlignment(SwingConstants.LEFT);
Code :1 2 3 4 5 6 7 8
panel1.add(tField_V_Name, new GridBagConstraints(1, 1, 2, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2, -46, 1, 47), 123, 0)); panel1.add(tField_Name, new GridBagConstraints(1, 2, 2, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2, -46, 1, 47), 121, 0)); panel1.add(tField_Tel, new GridBagConstraints(1, 3, 2, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2, -46, 2, 47), 121, 0)); panel1.add(tField_Geb, new GridBagConstraints(1, 4, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0, -46, 11, 0), 121, 0));
Das Problem ist, wenn ich nichts in den Textfelder zu stehen habe, dann werden sie beim maximieren des Frames nicht vergrößert. Wenn ich im Textfeld tField_V_Name etwas drin zustehen habe und das Frame maximiere werden die Felder auch nicht vergrößert. Alle Textfelder sind untereinander angeordnet.
Wenn ich jedoch im TextFeld tField_Name etwas reinschreibe und das Frame vergrößere, dann werden die unteren drei Textfelder vergrößert.
Wie kann ich das verhindern?Gruß AKST
-
Nunja, habe jetzt mal etwas mit dem GuiBuilder vom Jbuilder "rumgespielt" da mir die sizes von den Textfeldern merkwürdig vorkamen. Jetzt sieht alles aus wie gewünscht. Hier mal der neue code, wenn es jemanden interessiert:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
tField_V_Name.setMaximumSize(new Dimension(126, 21)); tField_V_Name.setMinimumSize(new Dimension(126, 21)); tField_V_Name.setPreferredSize(new Dimension(126, 21)); tField_V_Name.setHorizontalAlignment(SwingConstants.LEFT); tField_Geb.setMaximumSize(new Dimension(126, 21)); tField_Geb.setMinimumSize(new Dimension(126, 21)); tField_Geb.setPreferredSize(new Dimension(126, 21)); tField_Geb.setMargin(new Insets(1, 1, 1, 1)); tField_Geb.setHorizontalAlignment(SwingConstants.LEFT); tField_Tel.setMaximumSize(new Dimension(126, 21)); tField_Tel.setMinimumSize(new Dimension(126, 21)); tField_Tel.setPreferredSize(new Dimension(126, 21)); tField_Tel.setHorizontalAlignment(SwingConstants.LEFT); tField_Name.setMaximumSize(new Dimension(126, 21)); tField_Name.setMinimumSize(new Dimension(126, 21)); tField_Name.setPreferredSize(new Dimension(126, 21)); tField_Name.setHorizontalAlignment(SwingConstants.LEFT); panel1.add(tField_V_Name, new GridBagConstraints(1, 1, 2, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, -46, 1, 47), 0, 0)); panel1.add(tField_Name, new GridBagConstraints(1, 2, 2, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, -46, 1, 47), 0, 0)); panel1.add(tField_Tel, new GridBagConstraints(1, 3, 2, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(2, -46, 2, 47), 0, 0)); panel1.add(tField_Geb, new GridBagConstraints(1, 4, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.VERTICAL, new Insets(0, -46, 11, 1), 0, 0));
Gruß AKST
-
Schick mir mal den Codeteil mit der GUI an rezk945@gmx.de.
-
Hallo snape,
danke für dein Angebot, aber es funktioniert jetzt wie gewünscht.Gruß AKST
Ähnliche Themen
-
JFrames
Von schiese im Forum Java GrundlagenAntworten: 7Letzter Beitrag: 30.08.10, 10:39 -
Listener für das Minimieren/Maximieren eines Frames
Von japp im Forum JavaAntworten: 4Letzter Beitrag: 22.03.10, 16:13 -
Oberklasse für gleiche JFrames
Von -Tom-Tom- im Forum Java GrundlagenAntworten: 4Letzter Beitrag: 10.05.09, 16:33 -
JFrames transparent machen
Von moemaster im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 9Letzter Beitrag: 17.11.08, 07:26 -
SwingWorker mit JFrames
Von UnkiDunki im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 06.04.08, 23:30





Zitieren
Login





