Thumbpanel bzw. Layout das Componenten in einem Grid anordnet ..?

Status
Nicht offen für weitere Antworten.

richardcurtle

Bekanntes Mitglied
Hi,

Ich suche ein Panel bzw. Layout das Thumbnails so anordnet dass sie wie in einem Grid sind. Bei zuvielen Thumbs wird nach unten umgebrochen und bildet eine neue Row. Sind mehr Rows sichtbar als der Parentcontainer fassen kann wird ein Scrollbar sichtbar.

Danke.
 

Wolfgang Lenhard

Bekanntes Mitglied
Mal unter der Annahme, dass alle thumbs die gleiche Ausdehnung haben geht es ganz einfach:
Code:
panel.setLayout(new FlowLayout(FlowLayout.LEADING));
for(int i = 0; i < thumbs.length; i++)
    panel.add(thumbs[i]);
Das FlowLayout füllt dann zeilenweise die Komponenten rein. In Bezug auf die ScrollBars muss das panel in eine JScrollPane gepackt werden:
Code:
JScrollPane scroll = new JScrollPane(panel);
Diese wird dann der Contentpane oder irgend einer anderen JComponent hinzugefügt.

Viele Grüße,
Wolfgang
 
Zuletzt bearbeitet:

richardcurtle

Bekanntes Mitglied
Mal unter der Annahme, dass alle thumbs die gleiche Ausdehnung haben geht es ganz einfach:
Code:
panel.setLayout(new FlowLayout(FlowLayout.LEADING));
for(int i = 0; i < thumbs.length; i++)
    panel.add(thumbs[i]);
Das FlowLayout füllt dann zeilenweise die Komponenten rein. In Bezug auf die ScrollBars muss das panel in eine JScrollPane gepackt werden:
Code:
JScrollPane scroll = new JScrollPane(panel);
Diese wird dann der Contentpane oder irgend einer anderen JComponent hinzugefügt.

Viele Grüße,
Wolfgang

Danke. Ich dachte FlowLayout unterstuetzt nur eine einzelne Reihe von Componenten. Hab ich mich wohl getaeuscht?
 

slawaweis

Bekanntes Mitglied

richardcurtle

Bekanntes Mitglied

Irgendwie haben die Buttons bei mir ihre Click Funktionalitaet verloren. Auch sind keine Zwischenraeume zwischen den Buttons. Kann man das aendern?

Welchen Layoutmanager nutzt eine JList um Elemente in ihr anzuordnen? Kann ich den nutzen?

[HIGHLIGHT="Java"]
public class ListTest {

static ListCellRenderer cellRenderer = new ListCellRenderer() {
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
return (Component) value;
}

};

public static void main(String[] args) {
DefaultListModel model = new DefaultListModel();
for (int i = 0; i < 10; i++) {
JButton button = new JButton("Button " + i);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Hello!");
}
});
button.setPreferredSize(new Dimension(120,80));
model.addElement(button);
}

JList list = new JList(model);
System.out.println(list.getLayout());
list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
list.setLayoutOrientation(JList.HORIZONTAL_WRAP);
list.setVisibleRowCount(-1);
list.setCellRenderer(cellRenderer);


JFrame frame = new JFrame("Hello World!");
frame.setContentPane(new JScrollPane(list));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(400,300));
frame.pack();
frame.setVisible(true);
}
}
[/HIGHLIGHT]
 

Marco13

Top Contributor
Wo-ho- man sollte eine JList nicht für das Layout von JButtons verwenden. Das mit dem FlowLayout fand ich auch erst irritierend: Dort sind die Buttons (bzw. Components) ja nicht notwendigerweise in einem Rechtecksgitter angeordnet... sondern sie sind einfach so groß, wie sie sind... Und für mehrere Zeilen müßte man ggf. das "ExtendedFlowLayout" (aka FlowLayout mit Zeilenumbruch) verwenden, das The_S (aka Hobbit_im_Blutrausch) mal in den Codeschnipseln gepostet hatte. Beschreib' ggf. nochmal genauer, wie das ganze am Ende aussehen und sich verhalten soll...
 

richardcurtle

Bekanntes Mitglied
Wo-ho- man sollte eine JList nicht für das Layout von JButtons verwenden. Das mit dem FlowLayout fand ich auch erst irritierend: Dort sind die Buttons (bzw. Components) ja nicht notwendigerweise in einem Rechtecksgitter angeordnet... sondern sie sind einfach so groß, wie sie sind... Und für mehrere Zeilen müßte man ggf. das "ExtendedFlowLayout" (aka FlowLayout mit Zeilenumbruch) verwenden, das The_S (aka Hobbit_im_Blutrausch) mal in den Codeschnipseln gepostet hatte. Beschreib' ggf. nochmal genauer, wie das ganze am Ende aussehen und sich verhalten soll...

Danke fuer den Tip! Denke das hilft mir weiter :)
 

Wolfgang Lenhard

Bekanntes Mitglied
? Also ich verwende in einem ähnlichen Anwendungskontext FlowLayout, und die Elemente werden korrekt eingefügt. Wenn die erste Zeile voll ist, dann kommt die nächste dran und so weiter. Alternativ lässt sich beispielsweise auch das GridLayout verwenden, oder für viel Komfort das FormLayout von JGoodies.
 
M

MiDniGG

Gast
Lass mal das DefaultListModel weg und adde die Buttons direkt der Liste. Dann geht es...
 
M

MiDniGG

Gast
Also mit list.add(button); ohne model seh ich nur eine leere Liste. Nur interessehalber, hast du dich geirrt oder mache ich was falsch?

Also bei mir gehts...

[HIGHLIGHT="Java"]
public class ListTest extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;

public static void main(String[] args) {
new ListTest();
}
public ListTest() {
JButton button = null;
JList list = new JList(); //Die list natürlich vor der for-schleife anlegen...
for(int i = 0; i < 10; i++) {
button = new JButton("Button " + i);
button.addActionListener(this);
button.setPreferredSize(new Dimension(120, 80));
button.setEnabled(true);
list.add(button); //...und button hier adden. sonst kommt nix
}
list.setLayout(new FlowLayout());
list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
list.setLayoutOrientation(JList.HORIZONTAL_WRAP);
list.setVisibleRowCount(-1);
JFrame frame = new JFrame("Hello World!");
frame.setContentPane(new JScrollPane(list));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(400, 300));
frame.pack();
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
System.out.println("Hello!");
}
}
[/HIGHLIGHT]
 

richardcurtle

Bekanntes Mitglied
Krass.

list.setLayout(new FlowLayout());

hatte ich nicht gehabt.

Mich wundert, dass das ueberhaupt funktioniert. Wenn man der List ein Layout zuordnet, bringen dann noch Aufrufe wie:

list.setLayoutOrientation(JList.HORIZONTAL_WRAP);

etwas?

Warum wird eigentlich die JScrollPane/Bars nie sichtbar?


Danke Richard.
 

Marco13

Top Contributor
Um's nochmal zu betonen: Eine JList für Layout zu verwenden ist IMHO wirklich HÖCHST fragwürdig....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
S Layout - Problem AWT, Swing, JavaFX & SWT 1
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
melaniemueller Layout wechseln über RadioButtons AWT, Swing, JavaFX & SWT 4
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
R Layered Layout AWT, Swing, JavaFX & SWT 1
E showAndWait is not allowed during animation or layout processing Memory FX AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
S Kann javafx.scene.layout.VBoxBuilder nicht importieren AWT, Swing, JavaFX & SWT 3
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
I JavaFX - festes Layout AWT, Swing, JavaFX & SWT 1
S JavaFX TableView einzelne Zelle Layout zuweisen AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing Card-Layout, Fokus AWT, Swing, JavaFX & SWT 2
kilopack15 Interface mit Layout verknüpfen AWT, Swing, JavaFX & SWT 2
Y Layout/Ausrichtungsprobleme AWT, Swing, JavaFX & SWT 4
T JavaFX Custom Layout AWT, Swing, JavaFX & SWT 5
A GUI Layout AWT, Swing, JavaFX & SWT 11
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
L wie Layout-Grid in JXPanel anzeigen? AWT, Swing, JavaFX & SWT 5
L Eigene Component Layout AWT, Swing, JavaFX & SWT 4
Soloeco LayoutManager Wie und welches Layout nutze ich am Besten? AWT, Swing, JavaFX & SWT 13
M LayoutManager Modalen JDialog ein Layout zuweisen AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout reagiert nicht auf Constraints AWT, Swing, JavaFX & SWT 4
IsSchoGuat LayoutManager Layout-Containergrösse AWT, Swing, JavaFX & SWT 4
F GridBag Layout AWT, Swing, JavaFX & SWT 1
Z Absolutes Layout / Kontrolle über Anordnung AWT, Swing, JavaFX & SWT 3
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
J ComboBoxModel addElement verändert Layout AWT, Swing, JavaFX & SWT 8
E Probelm mit Layout AWT, Swing, JavaFX & SWT 1
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
P Tipps für GUI-Layout AWT, Swing, JavaFX & SWT 2
M Passender Layout-Manager AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout zur Laufzeit ändern AWT, Swing, JavaFX & SWT 8
N Swing Zweifarbiges Layout für den Filechooser AWT, Swing, JavaFX & SWT 12
B LayoutManager Card Layout AWT, Swing, JavaFX & SWT 2
E Angehängtes Layout, aber wie? AWT, Swing, JavaFX & SWT 12
1 Eigenes Layout schreiben AWT, Swing, JavaFX & SWT 4
B SWT layout invalidieren in SWT? AWT, Swing, JavaFX & SWT 4
R Welchen Layout Manager/ Wie strukturieren? AWT, Swing, JavaFX & SWT 14
J Layout: oben 20% unten 80% AWT, Swing, JavaFX & SWT 12
T Layout für Listendarstellung AWT, Swing, JavaFX & SWT 3
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
K Eclipse Layout (Gimp Layout, Tiled Layout...) AWT, Swing, JavaFX & SWT 4
C LayoutManager Passendes Layout gesucht AWT, Swing, JavaFX & SWT 2
M Layout funktioniert nicht AWT, Swing, JavaFX & SWT 3
dzim Layout von Panes in JFX2 AWT, Swing, JavaFX & SWT 17
H Layout Idee AWT, Swing, JavaFX & SWT 8
M Swing Dynamisches Layout AWT, Swing, JavaFX & SWT 10
P Swing welchen Layout Manager verwenden AWT, Swing, JavaFX & SWT 9
J LayoutManager Komponentenaustausch zerschießt Layout AWT, Swing, JavaFX & SWT 4
F Layout-Problem AWT, Swing, JavaFX & SWT 2
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
B Anderen Layout-Manager verwenden AWT, Swing, JavaFX & SWT 17
E Null-Layout - Wie geht es ohne? AWT, Swing, JavaFX & SWT 19
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10
D Bild in JPanel verschiebt Layout. Wie fixieren? AWT, Swing, JavaFX & SWT 9
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
D Problem mit 3-Spalten Layout AWT, Swing, JavaFX & SWT 17
ARadauer Wenig Material zum Thema: Design, Layout, Usability von Swing Anwendungen AWT, Swing, JavaFX & SWT 11
S LayoutManager Welcher LayoutManager für dieses zweispaltige Layout? AWT, Swing, JavaFX & SWT 13
G LayoutManager Layout welches von Links nach rechts anordnet mit TOP Alignment! AWT, Swing, JavaFX & SWT 5
A Best practice für konkretes Layout AWT, Swing, JavaFX & SWT 10
G LayoutManager Layout für Spalten AWT, Swing, JavaFX & SWT 8
A Layout/JPanelgröße AWT, Swing, JavaFX & SWT 6
S pack() bei null-Layout AWT, Swing, JavaFX & SWT 10
C SWT Tabellen-Layout in StyledText? AWT, Swing, JavaFX & SWT 6
J LayoutManager Welchen Layout/Design-Manager? AWT, Swing, JavaFX & SWT 4
R Swing Layout setzen AWT, Swing, JavaFX & SWT 3
L Layout automatische Anpassung umgehen? AWT, Swing, JavaFX & SWT 5
A Problem mit Layout-Manager AWT, Swing, JavaFX & SWT 11
J Button Layout anpassen AWT, Swing, JavaFX & SWT 22
H LayoutManager Layout mit GridBagLayout machbar? AWT, Swing, JavaFX & SWT 6
B Buttongröße im Layout AWT, Swing, JavaFX & SWT 4
B LayoutManager Layout Problem AWT, Swing, JavaFX & SWT 14
O LayoutManager Layout entwerfen AWT, Swing, JavaFX & SWT 3
A diverse Layout-Fragen AWT, Swing, JavaFX & SWT 4
F LayoutManager Eigenes Layout die Lösung?! AWT, Swing, JavaFX & SWT 4
dzim SWT Layout mit Sections aus Eclipse Forms AWT, Swing, JavaFX & SWT 17
F JScrollPane verwirft Layout von JPanel AWT, Swing, JavaFX & SWT 2
C LayoutManager Layout und vergrößern des Frames AWT, Swing, JavaFX & SWT 5
E Swing Runde Buttons / Position eines Obj. im Layout AWT, Swing, JavaFX & SWT 7
S Swing UI-Elemente ordnen sich ungewollt in einer Reihe (ohne Layout) AWT, Swing, JavaFX & SWT 5
A Ungewollte Layout änderungen AWT, Swing, JavaFX & SWT 3
A Suche: Eclipse-GUI-Layout AWT, Swing, JavaFX & SWT 5
E JPanel mit Null Layout entfernt Buttons AWT, Swing, JavaFX & SWT 11
N Swing Layout positionieren AWT, Swing, JavaFX & SWT 2
B Methode setzt nicht das Layout in einer if-Abfrage AWT, Swing, JavaFX & SWT 13
H LayoutManager Dynamisches Layout AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben