# Bilder auf einem Grid anordnen?



## 0001001 (1. Okt 2008)

Hallo,

mich würde mal interessieren, wie ihr das lösen würdet:
Ich hätte gerne ungefähr eine solche Anordnung (nur die rechte Seite) für Icons/Bilder:






Wie würdet ihr das machen? Gibts sowas vielleicht schon fertig?

Dankeschön!


----------



## musiKk (1. Okt 2008)

Ist das nicht ein ganz einfaches GridLayout?


----------



## 0001001 (1. Okt 2008)

Jein,

klar ist es ein Grid, aber die Anzahl der Zeilen und Spalten soll ja abhängig von der Menge der Bilder sein.

Ich dachte da eher an eine JList....

Ab besten wäre es wenn es sowas schon fertig gäbe. Mir fällt allerdings der passende Suchbegriff nicht ein.


----------



## André Uhres (1. Okt 2008)

Ich habe sowas schonmal mit einem JPanel(FlowLayout) gemacht:

```
private JPanel thumbnailsContainer = new JPanel();
```
und dabei das JPanel über setPreferredSize an die Bilderanzahl angepasst, etwa so:

```
int height = (int)thumbnailPanel.getLocation().getY()+thumbnailPanel.getPreferredSize().height+5;
thumbnailsContainer.setPreferredSize( new Dimension( -1,  height ) );
```
wobei "thumbnailPanel" das letzte Bild darstellt.


----------



## 0001001 (2. Okt 2008)

Danke André für den Tip. So werde ich es mal probieren


----------



## Marco13 (2. Okt 2008)

JList ist nicht verkehrt, insbesondere, wenn man die Größe des Fensters verändern können will. Eine passend konfigurierte JList passt sich dann automatisch an. Wenn man das von Hand mit einem LayoutManager machen will, musst man sich den vmtl. selbst schreiben (wobe es VIELLEICHT mit Hobbit_Im_Blutrausch's "FlowLayout mit Zeilenumbruch" gehen könnte). Die JList hat aber den weiteren Vorteil, dass man diese Thumbnails gleich anklicken kann, usw....


----------



## 0001001 (2. Okt 2008)

War selbst mit einem JPanel und einem FlowLayout kein großer Aufwand


----------



## André Uhres (2. Okt 2008)

JPanel mit FlowLayout passt die Zeilen aufgrund der PreferredSize vollautomatisch an
(die PreferredSize könnte man auch, wenn man will, dynamisch an die Fenstergrösse anpassen).
"Klicken" und "Draggen" ist einfach zu realisieren mit MouseListener und MouseMotionListener,
die wir an den thumbnailsContainer hängen.


----------



## Marco13 (2. Okt 2008)

Wenn man dann noch die Logik dahinterbaut, zu draggen und droppen, Thumbnails auzuwählen, die Auswahl zu setzen, mit STRG mehere auszuwählen etc. wird's aber ungleich aufwändiger, als einfach zu sagen "somewhere.add(new JList(allThatStuff))" :wink:


----------



## André Uhres (2. Okt 2008)

Eine Logik müssen wir so oder so dahinter bauen. Mit JList dürfte das aufwendiger werden, da sie nur ganze Zeilen verwaltet.


----------

