Swing ListDialog von Oracle mit JLabels

  • Themenstarter Themenstarter Xenya
  • Beginndatum Beginndatum
X

Xenya

Gast
Hallo,
ich habe eine Frage bezüglich des Layouts mit Swing.

Ich versuche erstmal mein bis jetziges Layout vorzustellen:
Links ist eine Karte zu sehen,
rechts ein Panel für Einstellungen und eine Textausgabe.
Hier ist auch ein Art Index zu finden, welche der Markierungsfarben für was steht.

Beispielsweise, sollen die Personen verschiedener Gruppen dargestellt werden.
Gruppe 1 mit dem Namen Team-X wird in rot dargestellt,
Gruppe 2 mit dem Namen Team-Y wird in blau dargestellt,
...

Dann steht in der Index-Liste
Team-X Team-Y
die Schriftfarbe entsprecht jeweils der Markierungsfarbe.

Der Name der Gruppen kann verschieden lang sein, genauso ist die Anzahl der Gruppen unbekannt. Darüber hinaus ist die größe des Feldes variabel, der Nutzer kann die Höhe und die Breite nach wunsch verschieben.
Diese Liste soll möglichst schön aussehen. Vorgestellt habe ich mir, dass möglichst viele nebeneinander sind, wenn die Zeile voll ist sollen sie genau untereinander angeordnet werden und wenn es zu viel für die größe sind, dann mit einem Scrollbar für den vertikalen Ausschnitt.

Der Versuch, ein JPanel in einem JScrollPane, bei dem der horizontale Scrollbalken auf never gestellt wird. Durch das Flowlayout habe ich mir erhofft, dass die Zeile von allein, wie gewohnt, umgebrochen wird.
Leider ist dies nicht der Fall. Da das JPanel durch das JScrollPane undendlich breit ist, auch wenn es keinen Scrollbalken dafür gibt.

Deshalb bin ich auf der Suche nach einer Lösung auf den ListDialog von Oracle gestoßen.
Das ist genau das, was ich will.

Leider bekomme ich es nur so hin, wie es in dem Beispiel auch ist, dass der Text nur aus Strings besteht.
Ich würde aber gerne JLabels hernehmen, da ich die Textfarbe einstellen will.
Später soll neben jedem Namen auch noch ein Kästchen zum an- und abhacken kommen.

Weiß wer, wie ich diesen ListDialog so ausbauen kann, dass er auch mit JLabel und ähnlichem klar kommt?

Würde mich sehr freuen, wenn mir wer helfen kann.

Danke
 
Also bis auf die geplante Checkbox ließe sich das mit einem ListCellRenderer verwirklichen.
Dieser erstellt quasi ein JPanel, welches die jeweiligen Komponenten enthält, "fotografiert" das Ergebnis und setzt es in deine JList ein.

In deinem Fall würde ich aber eher zum JTable greifen, damit bekommst du es eher realisiert und verlierst nicht zwingend die Funktionalität deiner Widgets.

Gruß Vanny
 
Hallo vanny,
danke für deine Antwort.

Mit JTables habe ich mich bis jetzt noch nicht so sehr beschäftigt, muss ich zugeben.
Aber ich habe gesehen, dass es hier im Forum ein Tutorial zu JTables gibt, werde mich damit mal beschäftigen.

Aber ich denke, dass man bei JTable die Rows und Columns festangeben muss und es selber nicht je nach breite des Fensters und breite der Namen anpasst.

Ich werde mir das Tutorial mal durchlesen und schauen, ob ich mir was basteln kann, was mir passt.
 

Neue Themen


Zurück
Oben