Hallo liebe Programmiererkollegen,
ich habe ein Problem bei der Programmierung einer Applikation und komme absolut nicht mehr voran. In einer größeren Anwendung mit vielen übergeordneten Panels soll ich eine JScrollPane einbinden. An sich kein Problem, allerdings tut sie nicht ganz was ich möchte. Ich habe das Problem isoliert in einer kleinen Klasse Test.java ausgelagert, hier dazu der Quellcode:
Das Ergebnis ist leider nicht, dass die Buttons in mehreren Reihen im Fenster zu sehen sind, sondern, dass sie seitlich das Fenster verlassen und quasi bis ins unendliche in der einen Zeile weiter hinzugefügt werden.
Wie kann ich es bewerktstelligen, dass die ScrollPane die Elemente am Ende ihrer sichtbaren Anzeige umbricht und sie in die nächste Zeile schiebt? Was mache ich falsch?
ich habe ein Problem bei der Programmierung einer Applikation und komme absolut nicht mehr voran. In einer größeren Anwendung mit vielen übergeordneten Panels soll ich eine JScrollPane einbinden. An sich kein Problem, allerdings tut sie nicht ganz was ich möchte. Ich habe das Problem isoliert in einer kleinen Klasse Test.java ausgelagert, hier dazu der Quellcode:
Java:
package de.zwf.test;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneLayout;
public class Test extends JFrame {
public static void main(String[] args) {
Test t = new Test();
}
public Test() {
this.setLayout(new BorderLayout());
this.setSize(500, 500);
this.init();
this.setVisible(true);
}
private void init() {
JPanel contentPanel = new JPanel(new FlowLayout());
for (int i = 0; i < 100; i++) {
contentPanel.add(new JButton(String.valueOf(i)));
}
JScrollPane scrollPane = new JScrollPane(contentPanel);
scrollPane.setLayout(new ScrollPaneLayout());
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
this.add(scrollPane);
}
}
Das Ergebnis ist leider nicht, dass die Buttons in mehreren Reihen im Fenster zu sehen sind, sondern, dass sie seitlich das Fenster verlassen und quasi bis ins unendliche in der einen Zeile weiter hinzugefügt werden.
Wie kann ich es bewerktstelligen, dass die ScrollPane die Elemente am Ende ihrer sichtbaren Anzeige umbricht und sie in die nächste Zeile schiebt? Was mache ich falsch?