Swing GUI untereinander schieben

pisco

Bekanntes Mitglied
Hey Leute,

also ich code gerade an eienr Warenverwaltung:

Hier mal meine GUI:

p48Eh.jpg


Wie ihr seht ist diese extremst verruscht, denn das Label oben ist nicht über den Eingabeelementen und der Tabelle unten.

Hier mal mein Code:

Code:
GroupLayout tLayout = new GroupLayout(mainFrame.getContentPane());
mainFrame.getContentPane().setLayout(tLayout);
tLayout.setAutoCreateGaps(true);
tLayout.setAutoCreateContainerGaps(true);

tLayout.setHorizontalGroup(tLayout.createSequentialGroup()
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tLabel0))
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tLabel1)
                .addComponent(tLabel2)
                .addComponent(tLabel3)
                .addComponent(tLabel4))
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tTextField1)
                .addComponent(tTextField2)
                .addComponent(tTextField3)
                .addComponent(tCombo)
                .addComponent(tButton1))
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tTable))
        );

tLayout.setVerticalGroup(tLayout.createSequentialGroup()
        .addComponent(tLabel0)
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tLabel1)
                .addComponent(tTextField1))
            .addGroup(tLayout.createParallelGroup()
                .addComponent(tLabel2)
                .addComponent(tTextField2))
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tLabel3)
                .addComponent(tTextField3))
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tLabel4)
                .addComponent(tCombo))
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tButton1))
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tTable)));

Meine Frage: Was muss ich ändern damit alles schön wie oben beschrieben untereinander ist?

glg und ich dank euch schonmal für eure Antwort

PS.: GUI Builder möcht ich nicht verwenden da ich noch am lernen von SWING bin!!! Ergo nur händisch kommt in Frage;P
 

jgh

Top Contributor
also wenn das kein Code des GUI-Builder von Netbeans ist...alleine die Variablenbenamung würde wohl kaum ein Mensch, der gerade das GUI-coden lernen will, so nutzen!!!

Sollte das wirklich dein selbstgeschriebener Code sein, weißt du auch was du jetzt machen musst..
 

bERt0r

Top Contributor
Du hast in deiner horizontalen Anordnung angegeben, dass du drei Blöcke haben willst die nebeneinander kommen. Wenn du sie untereinander haben willst, pack alles in eine Parallel Group.
->
Java:
tLayout.setHorizontalGroup(tLayout.createSequentialGroup()
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tLabel0)
                .addComponent(tLabel1)
                .addComponent(tLabel2)
                .addComponent(tLabel3)
                .addComponent(tLabel4))
                .addComponent(tTextField1)
                .addComponent(tTextField2)
                .addComponent(tTextField3)
                .addComponent(tCombo)
                .addComponent(tButton1)
                .addComponent(tTable))
        );
 

pisco

Bekanntes Mitglied
also wenn das kein Code des GUI-Builder von Netbeans ist...alleine die Variablenbenamung würde wohl kaum ein Mensch, der gerade das GUI-coden lernen will, so nutzen!!!

Sollte das wirklich dein selbstgeschriebener Code sein, weißt du auch was du jetzt machen musst..

nope ist selbstgeschrieben;P
Mir stellt sich die Frage, warum sollte man das nicht so schreiben? Habs vorher am Papier mit var names skizziert und dann halt einfach nur noch eingefügt;?

btw ich verwend eclipse und nicht netbeans
 

jgh

Top Contributor
weil das bspw. keine selbstssprechen Variablennamen sind...
Code:
labelName, textFieldName
etc wären gerade am Anfang weitaus sinniger (imho) als
Code:
tLable0
aber ok, jedem das seine.

und da das GroupLayout auch gerne im GUI-Builder von Netbeans benutzt wird inc. einer ähnlichen Variablenbenamung, war meine Vermutung auch nicht abwegig...na ja, jetzt solltest du die Sachen doch zumindest hinbekommen
 

bERt0r

Top Contributor
Emr ich muss mich korrigieren von vorhin, es muss so aussehen:
Java:
tLayout.setHorizontalGroup(tLayout.createParallelGroup()
        
                .addComponent(tLabel0)
.addGroup(tLayout.createSequentialGroup()
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tLabel1)
                .addComponent(tLabel2)
                .addComponent(tLabel3)
                .addComponent(tLabel4))
        .addGroup(tLayout.createParallelGroup()
                .addComponent(tTextField1)
                .addComponent(tTextField2)
                .addComponent(tTextField3)
                .addComponent(tCombo)
                .addComponent(tButton1)))
        
                .addComponent(tTable))
        );
Das Label oben, der Block in der Mitte und der Table sind gleichberechtigt in einer ParallelGroup. Der Block besteht aus einer SequentialGroup aus zwei ParallelGroups.
 

Ähnliche Java Themen

Neue Themen


Oben