Moin,
ich habe ein sehr mehrwürdiges Layoutverhalten und weiß nicht, wie ich es korrigieren soll und hoffe einer kann mir helfen. Hier meine momentane Anordnung:
Auf oberster Ebene habe ich ein JSplitpane. Links ein Jtree und rechts ein JPanel.
In das rechte JPanels (FlowLayout) kommen mehrere kleine JPanels hinein. Wenn dort viele Elemente (JPanel) hinzukommen, werden sie erst nach rechts verteilt, und wenn kein Platz mehr vorhanden ist, in die nächste Reihe gesteckt.
Da es aber sehr viele Elemente geben kann, habe ich um das große Panel in ein JScrollPane gesteckt.
Nun das Problem: Die kleineren Panels werden nicht mehr in eine neue Zeile gebrochen, sondern erstrecken sich horizonal in einer Reihe. Also wenn man viele Elemente hat, kann man ganz schön weit nach rechts scrollen. Ich möchte diese Elemente jedoch gebrochen, sprich auch untereinander haben. Weiß jemand Rat?
hier ein kleiner Code ausschnitt:
// Splitpane
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPane.setContinuousLayout(true);
splitPane.setDividerLocation(150);
// Linke Seite mit einem JTree
JScrollPane paneLink = new JScrollPane(this.createVerzeichnisPanel());
paneLink.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); paneLink.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
// rechte Seite mit einem JPanel, das wiederum aus mehreren JPanels besteht
JScrollPane paneBPane = new JScrollPane(this.createBilderPanel()); paneBPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); paneBPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDE
splitPane.add(paneLink);
splitPane.add(paneBPane);
splitPane.setOneTouchExpandable(true);
ich habe ein sehr mehrwürdiges Layoutverhalten und weiß nicht, wie ich es korrigieren soll und hoffe einer kann mir helfen. Hier meine momentane Anordnung:
Auf oberster Ebene habe ich ein JSplitpane. Links ein Jtree und rechts ein JPanel.
In das rechte JPanels (FlowLayout) kommen mehrere kleine JPanels hinein. Wenn dort viele Elemente (JPanel) hinzukommen, werden sie erst nach rechts verteilt, und wenn kein Platz mehr vorhanden ist, in die nächste Reihe gesteckt.
Da es aber sehr viele Elemente geben kann, habe ich um das große Panel in ein JScrollPane gesteckt.
Nun das Problem: Die kleineren Panels werden nicht mehr in eine neue Zeile gebrochen, sondern erstrecken sich horizonal in einer Reihe. Also wenn man viele Elemente hat, kann man ganz schön weit nach rechts scrollen. Ich möchte diese Elemente jedoch gebrochen, sprich auch untereinander haben. Weiß jemand Rat?
hier ein kleiner Code ausschnitt:
// Splitpane
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPane.setContinuousLayout(true);
splitPane.setDividerLocation(150);
// Linke Seite mit einem JTree
JScrollPane paneLink = new JScrollPane(this.createVerzeichnisPanel());
paneLink.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); paneLink.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
// rechte Seite mit einem JPanel, das wiederum aus mehreren JPanels besteht
JScrollPane paneBPane = new JScrollPane(this.createBilderPanel()); paneBPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); paneBPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDE
splitPane.add(paneLink);
splitPane.add(paneBPane);
splitPane.setOneTouchExpandable(true);