Hallo zusammen,
ich habe in ein JPanel weitere kleine JPanel's eingefügt, die sich abhängig von der Fenstergröße und somit auch der Größe des Haupt-JPanels in ihrer Reihenfolge bzw. Position im JPanel verändern. (So wünsch ich es mir.) Doch wird das Fenster zu klein verschwinden einige der kleineren JPanels und auch die eingebaute JScrollPane kann da nichts ausrichten.
Wie kann ich es erreichen, dass der erforderliche (vertikale) Scrollbalken erscheint, wenn die kleinen JPanels nicht mehr im Haupt-JPanel sichtbar sind? Also wie kann ich dann nach unten scrollen?
Hier ein kleines Bsp. dazu:
ich habe in ein JPanel weitere kleine JPanel's eingefügt, die sich abhängig von der Fenstergröße und somit auch der Größe des Haupt-JPanels in ihrer Reihenfolge bzw. Position im JPanel verändern. (So wünsch ich es mir.) Doch wird das Fenster zu klein verschwinden einige der kleineren JPanels und auch die eingebaute JScrollPane kann da nichts ausrichten.
Wie kann ich es erreichen, dass der erforderliche (vertikale) Scrollbalken erscheint, wenn die kleinen JPanels nicht mehr im Haupt-JPanel sichtbar sind? Also wie kann ich dann nach unten scrollen?
Hier ein kleines Bsp. dazu:
Java:
private static JPanel init() {
JPanel jp = new JPanel(new BorderLayout());
jp.setBorder(new EtchedBorder());
JScrollPane scroller = new JScrollPane();
jp.add(scroller, BorderLayout.CENTER);
JPanel all = new JPanel();
scroller.setViewportView(all);
all.setPreferredSize(new Dimension(100, 100));
all.add(getPanel(Color.RED));
all.add(getPanel(Color.GREEN));
all.add(getPanel(Color.BLUE));
all.add(getPanel(Color.YELLOW));
return jp;
}
private static JPanel getPanel(Color c) {
JPanel p1 = new JPanel();
p1.setPreferredSize(new Dimension(60, 100));
p1.setBackground(c);
return p1;
}
public static void main(String[] args) {
JFrame jf = new JFrame();
jf.add(init());
jf.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
jf.setVisible(true);
jf.setSize(new Dimension(250, 200));
}