Verschachtelte layouts FlowLayout innen BoxLayout

Ich habe eine controlPanel (BoxLayout):

controlPanel.setLayout(new BoxLayout(controlPanel, BoxLayout.Y_AXIS));

Nun Baue ich zwei FlowLayout und fügen Sie Sie der contolPanel panel:

JPanel fromDatePanel = new JPanel(new FlowLayout());
JPanel untilDatePanel = new JPanel(new FlowLayout());

fromDatePanel.add(new JLabel("From - "));
fromDatePanel.add(new JButton("..."));
untilDatePanel.add(new JLabel("Until - "));
untilDatePanel.add(new JButton("..."));

controlPanel.add(fromDatePanel);
controlPanel.add(untilDatePanel);

Ich bin immer dies:

Verschachtelte layouts FlowLayout innen BoxLayout

Warum es zu einer Diskrepanz zwischen den layouts? Wenn ich legen Sie eine JButton zum Beispiel, funktioniert es (Es wird mit Ihnen auch keine Lücke).

Wie kann ich entfernen Sie die Lücke zwischen den beiden FlowLayout? (So wird es wie die Blaue Lücke)

  • Wenn Sie möchten, um die BoxLayout und loszuwerden, die Lücke, überschreiben getMaximumSize() des JPanel und zurück getPreferredSize. Siehe meine Antwort unten.
  • Danke, das hat geholfen!
InformationsquelleAutor Maroun | 2013-06-06
Schreibe einen Kommentar