Wie implementieren Sie eine dynamische GUI in swing

Zunächst, Entschuldigung für das posten etwas, vielleicht ein bisschen übermäßig speziell, aber ich bin nicht sehr erfahren mit Swing, und kann nicht scheinen, um zu finden gute Beispiele, die zu meinen Anforderungen passen.

So, ich bin versucht, herauszufinden, der beste Weg, um zu implementieren, das ein dynamisches GUI für die Auswahl von Filterkriterien in Schwung:

Wie implementieren Sie eine dynamische GUI in swing

Das zugrunde liegende Modell ist eine Klasse mit einer Liste von Kriterien, die negiert werden (d.h. mit einem NICHT-Präfix) und eine Eigenschaft, die angibt, ob diese kombiniert werden sollen, die mit UND oder ODER.

GUI erlauben würde, dem Benutzer das hinzufügen, ändern oder entfernen von Kriterien, und wählen Sie den Verknüpfungsoperator (und/oder). Das erste Kriterium wäre natürlich keine Kombination-Selektor, und die Dritte und die nachfolgenden Kriterien würde einfach die gleiche Kombination-operator als der zweite.

Den X-Button auf der rechten Seite verwendet werden, zum löschen ein Kriterium. Wenn Sie die Add-Taste gedrückt wird, wird eine neue Linie von Komponenten würde Hinzugefügt, um den Boden.
Wie änderungen vorgenommen werden, diese würde sich in das zugrunde liegende Modell.

Natürlich könnte ich das umsetzen dieser doch Recht "primitiv" einfach durch das hinzufügen von Komponenten zu einem JPanel und dann die Aktualisierung des Modells entsprechend, aber ich würde lieber eine rasche und reibungslose Lösung, wie ein TableModel.

So Frage ich mich, ob eine Tabelle mit ein benutzerdefiniertes TableModel und TableCellRenderer/Editor wäre der beste Ansatz, oder wenn es gibt ein besserer Weg, um etwas umzusetzen, wie dieser. Wenn die Tabelle ist in der Tat der beste Ansatz, ich würde mich freuen, ein paar Tipps, wie man Sie benutzen könnte TableCellRenderers oder -Redakteure, dies zu erreichen.

Vielen Dank im Voraus.

Für Referenz, die Einzahl von "Kriterien" "Kriterium". Siehe auch Kriterium, eine Art von bike-Rennen.
Hoppla, ist nicht meine Muttersprache 🙂

InformationsquelleAutor Rolf | 2011-06-15

Schreibe einen Kommentar