BoxLayout skaliert die "falschen" Elemente

Status
Nicht offen für weitere Antworten.
Hallo,

ich möchte eine horizontale Leiste mit mehreren Elementen aufbauen. Die Textfelder sollten eine prefered size von 8 Zeichen haben, die Combobox auch eine gewisse Startbreite. Wird die Leiste nun horizontal skaliert, dürfen alle drei Elemente wachsen, hauptsächlich aber die Combobox (ungefähr im Verhältnis 80:10:10).
Angenommen folgender Code

Code:
    {
      JPanel jHorPane = new JPanel();
      jHorPane.setLayout(new BoxLayout(jHorPane, javax.swing.BoxLayout.X_AXIS));
      jHorPane.add(new JButton("Button"));
      {
        JComboBox jCBox = new JComboBox();
        ComboBoxModel jURLBoxModel = new DefaultComboBoxModel(new String[] {});
        jCBox.setModel(jURLBoxModel);
        jHorPane.add(jCBox);

        jHorPane.add(new JLabel("Field1"));
        jHorPane.add(new JTextField(8));

        jHorPane.add(new JLabel("Field2"));
        jHorPane.add(new JPasswordField(8));
      }
      getContentPane().add(jHorPane);
    }
    pack();

Dabei skalieren aber leider nur die Textfelder, bei der Combobox tut sich rein gar nichts. Richtet sich deren Breite denn nur und strikt nach dem breitesten Inhalt?

Ciao,
Robert
 

Marco13

Top Contributor
Ja, so ähnlich... Ich tippe mal, die richtet sich nach der PreferredSize der ComboBox (und DIE richtet sich nach dem Inhalt). Für solche Verhältnis-Angaben ist das (ansonsten von mir wann immer möglich gemiedene) GridBagLayout vermutlich am besten geeignet. Dort kann man mit GridBagConstraints.weightx die Verhältnisse der Elemente glaubich ganz gut festlegen.
 
Ja, so ähnlich... Ich tippe mal, die richtet sich nach der PreferredSize der ComboBox (und DIE richtet sich nach dem Inhalt). Für solche Verhältnis-Angaben ist das (ansonsten von mir wann immer möglich gemiedene) GridBagLayout vermutlich am besten geeignet. Dort kann man mit GridBagConstraints.weightx die Verhältnisse der Elemente glaubich ganz gut festlegen.
GridBagLayout - seufz, ich sehe schon weshalb Du das zu vermeiden versuchst. Immerhin habe ich es tatsächlich geschafft so einzurichten wie ich es brauche. Wenn auch noch das Problem besteht dass bei horizontaler Schrumpfung die TextFields an einem Punkt plötzlich auf ca. ein Zeichen Breite zusammenfallen statt kontinuierlich zu skalieren.

Robert
 

Ebenius

Top Contributor
Grübel... Das hab ich doch schon mal beschrieben in: [post=481017]Wie das GridBagLayout die Komponentengrößen verteilt[/post].

Ebenius
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I BoxLayout zentriert Label nicht AWT, Swing, JavaFX & SWT 7
Z BoxLayout funktioniert nicht und Buttongröße AWT, Swing, JavaFX & SWT 18
R Swing panels nebeneinander mit BoxLayout.X_AXIS AWT, Swing, JavaFX & SWT 4
M BoxLayout AWT, Swing, JavaFX & SWT 6
T Swing Größe einer Komponente in einem BoxLayout / FlowLayout festlegen AWT, Swing, JavaFX & SWT 7
I BoxLayout, FlowLayout und Komponentengrößen AWT, Swing, JavaFX & SWT 1
S BoxLayout: Anordnung der Komponenten links statt zentriert AWT, Swing, JavaFX & SWT 0
S Bei BoxLayout haben hinzugefügten Jpanels einen Versatz/Space AWT, Swing, JavaFX & SWT 0
K BoxLayout-nicht teilbar AWT, Swing, JavaFX & SWT 6
apple987123 Swing BoxLayout AWT, Swing, JavaFX & SWT 3
G Problem mit Button im Boxlayout... AWT, Swing, JavaFX & SWT 4
F Swing BoxLayout ein JTextfield wird falsch positioniert AWT, Swing, JavaFX & SWT 2
T BoxLayout AWT, Swing, JavaFX & SWT 4
P LayoutManager Komponenten einfügen (FlowLayout, BoxLayout) AWT, Swing, JavaFX & SWT 2
R BoxLayout(Y_Axis) ignoriert preferedSize von Buttons AWT, Swing, JavaFX & SWT 5
B Probleme mit Layout Manager (BoxLayout) AWT, Swing, JavaFX & SWT 4
C Swing BoxLayout: Buttongröße AWT, Swing, JavaFX & SWT 10
F BoxLayout mit gleicher größe AWT, Swing, JavaFX & SWT 2
D Swing [BoxLayout] Nur TextArea und nicht TextField vergroessen AWT, Swing, JavaFX & SWT 2
G BoxLayout: Ausrichtung der Komponenten AWT, Swing, JavaFX & SWT 2
hdi BoxLayout mit Abstand? AWT, Swing, JavaFX & SWT 5
G BoxLayout? AWT, Swing, JavaFX & SWT 2
spacegaier BoxLayout: Buttons auf gleiche Größe bringen AWT, Swing, JavaFX & SWT 4
J Wie kann man beim BoxLayout scrollen? Keine Scrollleiste!:-( AWT, Swing, JavaFX & SWT 7
H AWTError: BoxLayout can't be shared AWT, Swing, JavaFX & SWT 1
A Probleme mit JPanel und BoxLayout AWT, Swing, JavaFX & SWT 5
J JComboBox und BoxLayout AWT, Swing, JavaFX & SWT 2
D BoxLayout in GridBagLayout AWT, Swing, JavaFX & SWT 7
O BoxLayout AWT, Swing, JavaFX & SWT 3
G BoxLayout: Abstand zwischen vertikalen Komponenten! AWT, Swing, JavaFX & SWT 4
TheWhiteShadow JavaFX Bilder werden ungewollt Skaliert AWT, Swing, JavaFX & SWT 1
A JavaFX Mittelkomponente im Borderpane skaliert nicht AWT, Swing, JavaFX & SWT 1
K Swing GUI Element wird nicht skaliert AWT, Swing, JavaFX & SWT 6
T Image skaliert in Variable speichern AWT, Swing, JavaFX & SWT 6
A Bilder skaliert zeichnen AWT, Swing, JavaFX & SWT 13
J JTable skaliert nicht beim Fenstergroessenveraendern AWT, Swing, JavaFX & SWT 2
I Swing-Komponenten skaliert zeichnen AWT, Swing, JavaFX & SWT 6
S Caps-Lock Überprüfung gibt falschen Wert zurück AWT, Swing, JavaFX & SWT 1
I Swing Ordnerauswahl ist in der falschen Ebene AWT, Swing, JavaFX & SWT 1
F In Action Listener TextFields einlesen und prüfen. Abbruch bei falschen Eingaben. Wie mache ich das? AWT, Swing, JavaFX & SWT 2
A JButtons - es wird beim falschen Button die Hintergrundfarbe angepasst AWT, Swing, JavaFX & SWT 2
S JFileChooser öffnet den falschen Ordner AWT, Swing, JavaFX & SWT 4
J Decorated TableViewer mit falschen Werten AWT, Swing, JavaFX & SWT 4
P Combobox liesst falschen Wert AWT, Swing, JavaFX & SWT 10
L 2 Monitore, Fenster öffnet sich im falschen Monitor AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben