tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
498
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    AKST AKST ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    198
    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ß
     

  2. #2
    Rick Dangerous Rick Dangerous ist offline Mitglied Silber
    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;
     

  3. #3
    AKST AKST ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    198
    Hallo,

    das habe ich schon probiert, hat nichts gebracht.

    Gruß
     
    Gruß AKST

  4. #4
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Dann zeig bitte mal den relevanten Code. Normalerweise hat das mit der Ausdehnung zu tun, die bem GBL eingetragen wird.
     

  5. #5
    AKST AKST ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    198
    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

  6. #6
    AKST AKST ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    198
    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

  7. #7
    AKST AKST ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    198
    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

  8. #8
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Schick mir mal den Codeteil mit der GUI an rezk945@gmx.de.
     

  9. #9
    AKST AKST ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    198
    Hallo snape,

    danke für dein Angebot, aber es funktioniert jetzt wie gewünscht.
     
    Gruß AKST

Ähnliche Themen

  1. JFrames
    Von schiese im Forum Java Grundlagen
    Antworten: 7
    Letzter Beitrag: 30.08.10, 10:39
  2. Antworten: 4
    Letzter Beitrag: 22.03.10, 16:13
  3. Oberklasse für gleiche JFrames
    Von -Tom-Tom- im Forum Java Grundlagen
    Antworten: 4
    Letzter Beitrag: 10.05.09, 16:33
  4. JFrames transparent machen
    Von moemaster im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 9
    Letzter Beitrag: 17.11.08, 07:26
  5. SwingWorker mit JFrames
    Von UnkiDunki im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 06.04.08, 23:30