LayoutManager GroupLayout an dem rechten Rand ausrichten

plammy

Bekanntes Mitglied
Hallo zusammen .. ich kämpfe seit Tagen mit dem Thema. Ich habe folges Problem:

Ich habe zwei JPanel, die Untereinander auf die rechte Seite im Fenster angeordnet sind. In dem ersten JPanel sind 4 Zeilen bestehend aus jeweils 1 JLabel gefolgt von 2 jTextfields. In dem zweiten JPanel sind 16 JLabels (jeweils eins pro Zeile ) gefolgt von jeweils 2 JTextfield wieder.

So.. Das Problem ist das sobald die Jlabels unterschiedliche Namen haben (bzw verschiedene Textlänge) richten sich die JTextfield danach und alles sieht voll verschoben. Die JTextfield sollen sich schön untereinander anordnen und an der rechten Rend ausgerichtet werden und nicht an dem JLabels.

Hier den Codeausschnitt für den ersten JPanel (Für den zweiten ist eh quasi dasselbe):

Code:
jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()     
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(wrapper)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(w_wrapper, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(h_wrapper, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, 22))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(header)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(w_header, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(h_header, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, 22))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(content)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(w_content, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(h_content, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, 22))    
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(footer)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(w_footer, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(h_footer, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, 22)))
                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(wrapper)
                    .addComponent(w_wrapper, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(h_wrapper, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, 22))
                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(header)
                    .addComponent(w_header, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(h_header, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, 22))
                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(content)
                    .addComponent(w_content, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(h_content, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, 22))
                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(footer)
                    .addComponent(w_footer, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(h_footer, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, 22))
                .addContainerGap(50, Short.MAX_VALUE)) //Abstand zwischen beide Panels
        );

Hab ein Bild angehängt wie doof das grade aussieht :(

Vielen Dank für die Feedbacks :applaus:
 

Anhänge

  • lyout.PNG
    lyout.PNG
    4,2 KB · Aufrufe: 20
S

SlaterB

Gast
hast du diesen Monster-Code selber eingetippt oder zusammenkopiert?
wenn es ein GUI-Builder macht, sollte der doch sowas können,
selber könnst du mit einfachen Layouts 90% reine Zeichenanzahl einsparen..
(edit: oder 99%, wenn das nichtmal alles ist, sondern nur ein Ausschnitt..)

vielleicht reicht es aber auf die Schnelle, allen Label eine gewisse Größe mit setPreferredSize()/ Size/ MinimumSize vorzugeben?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Grouplayout-Probem AWT, Swing, JavaFX & SWT 3
G Swing Variable Elemente für GroupLayout AWT, Swing, JavaFX & SWT 18
R LayoutManager GroupLayout - Tipps? AWT, Swing, JavaFX & SWT 2
M Swing JSeparator in GroupLayout AWT, Swing, JavaFX & SWT 0
S LayoutManager GroupLayout - Beste Wahl? AWT, Swing, JavaFX & SWT 3
O GroupLayout - TRAILING Alignment AWT, Swing, JavaFX & SWT 2
O Swing GroupLayout und Scrollpane AWT, Swing, JavaFX & SWT 3
P Swing GroupLayout() Fehler? AWT, Swing, JavaFX & SWT 3
S GroupLayout transient AWT, Swing, JavaFX & SWT 2
V LayoutManager GroupLayout Problem AWT, Swing, JavaFX & SWT 3
S GroupLayout AWT, Swing, JavaFX & SWT 5
S GroupLayout - wie funktionierts? AWT, Swing, JavaFX & SWT 5
E LayoutManager Grouplayout AWT, Swing, JavaFX & SWT 7
S Swing Inhalt eines Fenster bei Größenänderung anpassen (GroupLayout) AWT, Swing, JavaFX & SWT 2
N Fehler bei Grouplayout AWT, Swing, JavaFX & SWT 17
M Swing GroupLayout unter Java 1.5 AWT, Swing, JavaFX & SWT 20
D GroupLayout an un plötzlich is CardLayout Funktion tot? AWT, Swing, JavaFX & SWT 10
M GroupLayout in JREs vor Version 6 AWT, Swing, JavaFX & SWT 2
F Java6 GroupLayout Frage zu addGap() AWT, Swing, JavaFX & SWT 4
J Compilerfehler: javax.swing.GroupLayout nicht gefunden AWT, Swing, JavaFX & SWT 11
F Spalten in JTable immer am rechten Tabellenrand AWT, Swing, JavaFX & SWT 3
T Border eines Panels nicht an der rechten Kante anzeigen AWT, Swing, JavaFX & SWT 7
G JTree: Panel/Frame auf der rechten Seite anzeigen! AWT, Swing, JavaFX & SWT 5
I JTabbedPane - Einzelnen Tab auf der rechten Seite adden AWT, Swing, JavaFX & SWT 2
W WindowBuilder / Design-Vorschau schneidet den Rand ab AWT, Swing, JavaFX & SWT 0
M JavaFX TableView & CSS, Rand um Tabellenkopf entfernen AWT, Swing, JavaFX & SWT 3
T 2D-Grafik gezeichnetes Bild verschieben - rand bleibt sichtbar AWT, Swing, JavaFX & SWT 2
R TitledBorder: Beschriftung am senkrechten Rand AWT, Swing, JavaFX & SWT 3
Zettelkasten imageIcon-Rand wegmachen AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Rechteck mit dickerem Rand zeichnen AWT, Swing, JavaFX & SWT 8
A JButton Rand AWT, Swing, JavaFX & SWT 6
E Swing JPanels durch ziehen am Rand vergrößern/verkleinern?! AWT, Swing, JavaFX & SWT 2
S JPanel geht über Rand hinaus AWT, Swing, JavaFX & SWT 7
F Woher kommt der Rand? AWT, Swing, JavaFX & SWT 4
H fwststellen, ob sich Mouse auf dem Rand befindet AWT, Swing, JavaFX & SWT 3
L JButton - Labelposition im Verhältnis zum Rand AWT, Swing, JavaFX & SWT 12
A JButton Abstand Text - Rand AWT, Swing, JavaFX & SWT 4
G Gap zwischen JButton-Rand und JButton-Icon verändern AWT, Swing, JavaFX & SWT 2
W Rand um Buttons AWT, Swing, JavaFX & SWT 3
G Composite - Rand wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 3
G SWT Button mit Image und ohne Rand unter Linux? AWT, Swing, JavaFX & SWT 7
G Buttons ohne Rand? AWT, Swing, JavaFX & SWT 3
B JTextArea ohne internen Rand AWT, Swing, JavaFX & SWT 4
O JButton Rand um Schrift unsichtbar machen AWT, Swing, JavaFX & SWT 2
S TabbedPane ohne Rand AWT, Swing, JavaFX & SWT 4
S java ohne Rand AWT, Swing, JavaFX & SWT 4
C Frame ohne rand? AWT, Swing, JavaFX & SWT 2
S BorderFactory - nicht den ganzen Rand anzeigen AWT, Swing, JavaFX & SWT 2
O haben panels von anfang an einen dummen rand? AWT, Swing, JavaFX & SWT 19
S Setzen der richtigen Größe einer JTextPane ohne Rand AWT, Swing, JavaFX & SWT 4
S Applet mit AWT: Abstand zum Rand ändern AWT, Swing, JavaFX & SWT 5
R Ausrichtung am oberen Rand beim Gridbag-Layout AWT, Swing, JavaFX & SWT 2
J Jtable hat zuvuel Rand AWT, Swing, JavaFX & SWT 6
V AWT: zwei Listen nebeneinander ohne Rand dazwischen AWT, Swing, JavaFX & SWT 7
B linken rand einer JList-zelle festlegen AWT, Swing, JavaFX & SWT 4
B Fenstet am Desktop-Rand andocken? AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben