Hallo,
ich komme immer noch nicht so recht mit den Layout-Managern zurecht. Ich habe folgende GUI:
Die Combobox wird in der Höhe angepasst, wenn man das Fenster vergrößert oder verkleinert. Die Hyperlinks unten befinden sich auf einen Panel (pnlButtons) mit FlowLayout.
Mein Problem:
Wenn ich die Breite des Fensters ändere, dann verschwinden die Hyperlinks unten wegen dem Zeilenumbruch, der Panel wird nicht automatisch in der Höhe vergrößert, wie ich es gerne hätte (s. Bild). Wie kann ich das anstellen?
Der Vollständigkeit wegen hier noch der Auszug aus dem Konstruktor (des ContentPane), der für die Positionierung der Elemente zuständig ist (cbProjects ist die Combobox);
ich komme immer noch nicht so recht mit den Layout-Managern zurecht. Ich habe folgende GUI:


Die Combobox wird in der Höhe angepasst, wenn man das Fenster vergrößert oder verkleinert. Die Hyperlinks unten befinden sich auf einen Panel (pnlButtons) mit FlowLayout.
Mein Problem:
Wenn ich die Breite des Fensters ändere, dann verschwinden die Hyperlinks unten wegen dem Zeilenumbruch, der Panel wird nicht automatisch in der Höhe vergrößert, wie ich es gerne hätte (s. Bild). Wie kann ich das anstellen?

Der Vollständigkeit wegen hier noch der Auszug aus dem Konstruktor (des ContentPane), der für die Positionierung der Elemente zuständig ist (cbProjects ist die Combobox);
Code:
final SpringLayout layout = new SpringLayout();
setLayout(layout);
add(cbProjects);
/*
* button panel
*/
final JPanel pnlButtons = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 2));
add(pnlButtons);
pnlButtons.add(hlNewProject);
pnlButtons.add(hlEditProject);
pnlButtons.add(hlDeleteProject);
/*
* combobox
*/
final DefaultDataComboBoxEditor editor = new DefaultDataComboBoxEditor(Project.class);
cbProjects.setEditor(editor);
cbProjects.setEnabled(false);
cbProjects.setEditable(false);
cbProjects.setRenderer(new ExtendableComboBoxRenderer(new DefaultDataCellRenderer()));
cbProjects.setPrototypeDisplayValue(new Project());
cbProjects.setBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createEmptyBorder(5,5,0,5),
cbProjects.getBorder()
)
);
model.setSelectedItem(Application.getSelectionModel().getSelectedObject(Project.class));
/*
* layout
*/
layout.putConstraint(SpringLayout.EAST, pnlButtons, 0, SpringLayout.EAST, this);
layout.putConstraint(SpringLayout.WEST, pnlButtons, 0, SpringLayout.WEST, this);
layout.putConstraint(SpringLayout.SOUTH, pnlButtons, 0, SpringLayout.SOUTH, this);
layout.putConstraint(SpringLayout.EAST, cbProjects, 0, SpringLayout.EAST, this);
layout.putConstraint(SpringLayout.WEST, cbProjects, 0, SpringLayout.WEST, this);
layout.putConstraint(SpringLayout.SOUTH, cbProjects, 0, SpringLayout.NORTH, pnlButtons);
layout.putConstraint(SpringLayout.NORTH, cbProjects, 0, SpringLayout.NORTH, this);