2017-05-01 1 views
0

Screenshot ist: http://imgur.com/a/33rheWarum Schaltflächen in Java Swing nicht im Mittelpunkt stehen? hier

enter image description here

Ich verwende diesen Code:

layout.setHorizontalGroup(
     layout.createSequentialGroup() 
      .addComponent(greeting) 
      .addGroup(layout.createParallelGroup(GroupLayout.Alignment.CENTER) 
        .addGap(0,0,Short.MAX_VALUE) 
         .addComponent(english) 
         .addComponent(german) 
         .addComponent(french)) 
      .addGroup(layout.createSequentialGroup() 
       .addGap(0,0,Short.MAX_VALUE) 
       .addComponent(quit)) 
    ); 

Also mit diesem GroupLayout.Alignment.CENTER Ich erwarte, dass meine Tasten werden zentralisiert, aber sie sind nicht in das Zentrum auf rendern. Was ist das Problem? Was habe ich falsch gemacht?

Ich bin ein Neuling und zu versuchen, zu verstehen, was dort vor sich geht

Antwort

1

ich manuell nie verwenden Grouplayout. Es wird normalerweise von IDEs verwendet. Ich habe also keine Ahnung, warum das GroupLayout nicht so läuft, wie Sie es erwarten.

Stattdessen baue ich meine GUI von Hand mit geschachtelten Layouts bei Bedarf.

Anstatt also würde ich so etwas wie:

JPanel buttonPanel = new JPanel(new GridLayout(...)); 
buttonPanel.add(...); 

frame.setLayout(new GridBagLayout()); 
frame.add(buttonPanel, new GridBagConstraints()); 

Nun ist die „buttonPanel“ wird sowohl vertikal als auch horizontal zentriert werden.

+1

Meintest du für die letzte Codezeile 'new GridBagConstraints()' zu lesen? – VGR

+0

@VGR, oops, danke dafür. – camickr