Hinzufügen von Schaltflächen in der Zelle von JTable zusammen mit Daten?

8

Ist es möglich, Schaltflächen in der JTable-Zelle zusammen mit Daten hinzuzufügen? Was ich versuche ist, eine Tabelle mit Spalten zu erstellen, die Daten (Nummer) aus der Datenbank anzeigen, und zwei Schaltflächen, um die Zahl innerhalb derselben Zelle zu erhöhen / verringern.

| ID | Menge

| 06 | 2 [+] [-] |

Es wäre etwas wie oben, wenn [+] [-] Knöpfe wären. Wenn ich also [+] drücke, wird die Zahl zu 3 und 1 geändert, wenn [-] gedrückt wird.

    
Todd 15.01.2010, 05:11
quelle

3 Antworten

15

Ja, es ist möglich, obwohl es nicht einfach sein wird.

Sie müssen Ihren eigenen benutzerdefinierten CellRenderer und Ihren eigenen erstellen eigene Zelleneditor .

Dies ist eine Probe, die ich in 5 Minuten gemacht habe:

Es ist weit von perfekt, aber zeigt das Konzept.

Hier ist der Quellcode:

%Vor%

Hier ist ein Thread, der interessant und hier .

    
OscarRyz 15.01.2010, 06:15
quelle
1

Wie in dem Tutorial besprochen, benötigen Sie beide: a Renderer, um Ihren Wert anzuzeigen, und einen Editor, um Ereignisse aus der bearbeiteten Zelle zu erkennen. In diesem Beispiel ist Component ein JCheckBox . Beachten Sie, dass dies eine benutzerdefinierte DataModel erfordert, die AbstractTableModel erweitert, um die korrekte Class für eine bestimmte Spalte zu liefern. Joonas Vorschlag, JSpinner zu verwenden, ist ein guter, der gut funktioniert.

    
trashgod 15.01.2010 06:11
quelle
1

Ich denke, Sie müssen einen benutzerdefinierten CellRenderer erstellen, wenn Sie etwas anderes als Text (oder Zahlen) in der Zelle anzeigen möchten. Die Aufgabe des CellRenderers besteht darin, alles zu zeichnen, was in der Zelle angezeigt werden soll.

Siehe Table-Renderer-Dokumentation .

In diesem Fall könntest du also eine kleine JPane erstellen, die das Textfeld und die winzigen + und - Tasten enthält - oder nur eine JSpinner-Komponente, wenn du das brauchst, was du brauchst. Ein bisschen schwierig, sicher, aber sollte möglich sein.

    
Joonas Pulakka 15.01.2010 05:25
quelle

Tags und Links