Swing Editor für jTable

Status
Nicht offen für weitere Antworten.

ralfz

Aktives Mitglied
Hallo,

ich möchte bei einer jTable die erste Spalte mit dem "normalen" Editor für Text bearbeiten.
Alle weiteren Spalten mit einer Combobox.

Über eine Liste können verschiedene Tabellen ausgewählt werden und dann als jTable angezeigt, die jedoch unterschiedliche Anzahl von Spalten haben. Bisher setze ich beim Aufruf der jeweiligen Tabelle den ColumnEditor für die jeweiligen Spalten. Wird aber eine neue Spalte hinzugefügt, dann erfolgt ein TableStructureChanged Aufruf und meine Einstellungen sind pfutsch.

Wie kann ich das anders machen?

Gruß
Ralf
 

Ebenius

Top Contributor
Wenn die Daten-Typen laut [c]TableModel.getColumnClass()[/c] den Unterschied preisgeben, dann kannst Du verschiedene Default Editors setzen:
Java:
table.setDefaultEditor(String.class, myStandardEditor);
table.setDefaultEditor(TheOtherType.class, myAlternativeEditor);
Ansonsten könntest Du auch Deine JTable ableiten:
Java:
new JTable(...) {
  @Override
  TableCellEditor getCellEditor(int row, int column) {
    if(0 != convertColumnIndexToModel(column)) {
      return mySpecialEditor;
    } else {
      return super.getCellEditor(row, column);
    }
  }
}
Ebenius
 

ralfz

Aktives Mitglied
Die erste Lösung scheint geeignet zu sein, da bei der Listenauswahl für die angezeigte Tabelle setModel genutzt wird. Werde ich gleich mal ausprobieren.

Ich hatte gedacht, dass man nur einen Editor setzen kann...

Damit müsste es doch ausreichen, die Editoren einmalig zum Start der App zu setzen, oder?

Gruß
Ralf
 

Ebenius

Top Contributor
Beim Aufbau der Tabelle setzt man die Editoren und Renderer. Wenn das beim Start der Anwendung passiert, dann dann. :)

Ebenius
 

ralfz

Aktives Mitglied
Hallo,

das hat jetzt soweit mit Variante 1 funktioniert. Hab mich an dem Beispiel aus Creating a Custom Table Cell Editor in a JTable Component (Java Developers Almanac Example) orientiert.

Letzte Frage:
Ich könnte ja für
[Java]
public Component getTableCellEditorComponent(...)
{...
}
[/Java]
je nach Bedarf ne ComboBox oder nen TextField zurück geben.

Aber in dem Beispiel steht auch, ich muss

[Java]
public Object getCellEditorValue() {
return ((JTextField)component).getText();
}

[/Java]
ebenfalls mit angeben, damit der Wert auch nach der Bearbeitung übernommen wird.

Damit wäre es dann ja nicht möglich eine Fallunterscheidung vorzunehmen, oder? Es geht also kein "Universal-Editor" der alle Fälle berücksichtigt!?

Gruß
Ralf
 

Ebenius

Top Contributor
Damit wäre es dann ja nicht möglich eine Fallunterscheidung vorzunehmen, oder? Es geht also kein "Universal-Editor" der alle Fälle berücksichtigt!?
Also es geht nicht einfach so ein generischer Editor. Aber es geht sehr wohl ein Editor der verschiedene Komponenten unterstützt. Ein Editor ist immer nur einmal aktiv. Du kannst Dir also beispielsweise in [c]getTableCellEditor(...)[/c] merken, welche Komponente Du zurück gegeben hast und entsprechend später unterscheiden, wie Du deren Wert zu holen hast.

Ebenius
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Swing Filter für JTable mit Netbeans Editor AWT, Swing, JavaFX & SWT 2
U WYSIWYG Text-Editor für JFrames AWT, Swing, JavaFX & SWT 8
B WYSIWYG-HTML-Editor / Validator für JAVA AWT, Swing, JavaFX & SWT 2
alderwaran Swing XML editor plugin für eigene anwendung AWT, Swing, JavaFX & SWT 2
N Kennt jemand einen WYSIWYG Editor für AWT? AWT, Swing, JavaFX & SWT 4
izoards HTML Editor AWT, Swing, JavaFX & SWT 3
C HTML Editor Eingabemaske kafenio Ersatz AWT, Swing, JavaFX & SWT 7
L JavaFX JavaFX Diagram Editor AWT, Swing, JavaFX & SWT 3
L Editor does not contain a main type AWT, Swing, JavaFX & SWT 1
K Java FX: Mathematik Editor AWT, Swing, JavaFX & SWT 14
K Html Editor AWT, Swing, JavaFX & SWT 3
B Java FX FXML Textarea SceneBuilder als XML Editor AWT, Swing, JavaFX & SWT 1
R Editor Wörter zählen AWT, Swing, JavaFX & SWT 2
S JavaFX FXML-Editor mit Java 7? AWT, Swing, JavaFX & SWT 2
I LookAndFeel HTML Auflösung - Online Editor programmieren AWT, Swing, JavaFX & SWT 2
Developer_X Java JTable - Combobox + Checkbox - Cellrenderer + Editor AWT, Swing, JavaFX & SWT 3
F JAVA-EDITOR: Panel in Frame aufnehmen AWT, Swing, JavaFX & SWT 3
G Text im textfeld in einem Editor anzeigen AWT, Swing, JavaFX & SWT 18
T SelectAll bei JXTreeTable Editor AWT, Swing, JavaFX & SWT 2
A Swing Imagemap-Editor -> XML AWT, Swing, JavaFX & SWT 8
S SWT HTML-WYSIWUG-Editor AWT, Swing, JavaFX & SWT 3
B GUI Editor nachträglich anschalten? AWT, Swing, JavaFX & SWT 4
B Netbeans Swing/AWT Editor editierbar? AWT, Swing, JavaFX & SWT 5
X Frei nutzbarer HTML Editor AWT, Swing, JavaFX & SWT 13
S Strecken-Editor AWT, Swing, JavaFX & SWT 19
S Visual Editor mit main Methode AWT, Swing, JavaFX & SWT 3
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
B Editor programmieren AWT, Swing, JavaFX & SWT 26
R JTable - eigener Editor - Mouse events AWT, Swing, JavaFX & SWT 2
N Eigener Grafik Editor mit fehlerhafter Anzeige AWT, Swing, JavaFX & SWT 4
M Swing jcombobox als jtable-editor: neues Item auswählen AWT, Swing, JavaFX & SWT 4
J eclipse/Visual Editor: Auf Felder/Methoden vom Hauptframe zugreifen AWT, Swing, JavaFX & SWT 4
G Swing Hex-Editor AWT, Swing, JavaFX & SWT 19
N Swing Dynamische JRadioButtons und Visual Editor AWT, Swing, JavaFX & SWT 4
data89 Kleiner UML Editor AWT, Swing, JavaFX & SWT 4
F Visual Editor Installationsprobleme AWT, Swing, JavaFX & SWT 12
C Suche fertigen HTML editor AWT, Swing, JavaFX & SWT 2
K Eclipse Visual Editor rendert die Komponenten nicht richtig AWT, Swing, JavaFX & SWT 2
D Events bei Tabs in einem Editor AWT, Swing, JavaFX & SWT 2
V Visual Editor und nerviges FreeFormComponentsHostDialog AWT, Swing, JavaFX & SWT 3
K Tabelle -> Editor -> b-estimmte Tasten AWT, Swing, JavaFX & SWT 17
C Spielfeld Editor AWT, Swing, JavaFX & SWT 4
M Editor-Komponente AWT, Swing, JavaFX & SWT 3
M Einfachen UI Editor basteln AWT, Swing, JavaFX & SWT 2
D Brauche einfachen HTML Editor AWT, Swing, JavaFX & SWT 2
O Editor in JTable mit mouseMoved aufrufen? AWT, Swing, JavaFX & SWT 2
K Keine SWT-Komponenten-Gruppe in Palette des Visual Editor AWT, Swing, JavaFX & SWT 2
R Editor mit "Gehe zu"-Funktion AWT, Swing, JavaFX & SWT 4
T Editor auf Basis JFrame in ein JPanel wandeln - Problem! AWT, Swing, JavaFX & SWT 5
G JTable Editor AWT, Swing, JavaFX & SWT 7
G Selbstprogrammierter Editor - brauche Hilfe AWT, Swing, JavaFX & SWT 5
N JTable mit Editor? AWT, Swing, JavaFX & SWT 3
M Hilfe bei vers. Fonts und Zeilenlänge in eigenem Editor. AWT, Swing, JavaFX & SWT 3
J GUI-Editor AWT, Swing, JavaFX & SWT 18
G Editor Lade Problem AWT, Swing, JavaFX & SWT 22
G Editor wie MS Word AWT, Swing, JavaFX & SWT 3
H eigener Editor und JList als PopMenu AWT, Swing, JavaFX & SWT 6
G JTable: Zellenhöhe mit neuem CellRenderer & Editor AWT, Swing, JavaFX & SWT 17
P Wie richte ich den Visual Editor ein ? AWT, Swing, JavaFX & SWT 2
C wysiwyg Editor zum Einbinden in meinem Code AWT, Swing, JavaFX & SWT 14
S [JTable] Editor erst nach Doppelklick AWT, Swing, JavaFX & SWT 5
m@nu JTable: Editor stoppen AWT, Swing, JavaFX & SWT 8
A irgendwo ein fertiger WYSIWYG HTML-Editor da? AWT, Swing, JavaFX & SWT 7
K editor fuer swing und awt AWT, Swing, JavaFX & SWT 7
W Editor Syntax Farben AWT, Swing, JavaFX & SWT 2
J Anzeige ID und Markierung für Knoten in Eclipse & Swing AWT, Swing, JavaFX & SWT 4
Juelin setzen background color für selected Row im Tableview AWT, Swing, JavaFX & SWT 21
Juelin Für Java-Spezialisten AWT, Swing, JavaFX & SWT 4
H JTabel - RowFilter Daten für Berechnung filtern AWT, Swing, JavaFX & SWT 6
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
MJannek Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
M Vokabelprogram - Schleife für Liste soll schrittweise durchlaufen werden AWT, Swing, JavaFX & SWT 3
tommybalbor JavaFx Anwendung klappt nicht für macOs Nutzern, wenn ich zwei dependecies bei maven hinzufüge AWT, Swing, JavaFX & SWT 6
I Libraries für AWT für andere Grafik-Frameworks tauglich machen AWT, Swing, JavaFX & SWT 6
R auto. Importanweisungen für javafx funktioniert in Eclipse nicht mehr AWT, Swing, JavaFX & SWT 4
komplettlost Vollbildmodus für MacOs Nutzer geht nicht AWT, Swing, JavaFX & SWT 13
D JavaFX Schadensberechnung für Kartenspiel AWT, Swing, JavaFX & SWT 1
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
L actionListener für Button AWT, Swing, JavaFX & SWT 97
izoards Textfeld für Zeit AWT, Swing, JavaFX & SWT 4
CptK Wie funktioniert contains() für Path2D.Double AWT, Swing, JavaFX & SWT 10
T Getter und Setter für eine Stage AWT, Swing, JavaFX & SWT 6
P Swing Programm hängt sich bei Buttondruck auf? (GUI für "Chatbot" erstellen) AWT, Swing, JavaFX & SWT 15
T Button für GUI programmieren AWT, Swing, JavaFX & SWT 1
Z Switch Case für Buttons AWT, Swing, JavaFX & SWT 8
M Hough-Transformation für Kreise und andere Formen AWT, Swing, JavaFX & SWT 3
kodela HTML-tags für JLabel AWT, Swing, JavaFX & SWT 9
E Keystroke für Ausschneiden läßt sich nicht ändern AWT, Swing, JavaFX & SWT 2
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
MiMa Package Struktur für GUI Programmierung AWT, Swing, JavaFX & SWT 26
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
B eclipse für JavaFx setuppen AWT, Swing, JavaFX & SWT 4
K Swing Struktur für TreeTable rekursiv aufbauen AWT, Swing, JavaFX & SWT 17
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
H Ein Patten für das Gluon Mobile Framework AWT, Swing, JavaFX & SWT 7
J Gibt es einen Grund für 16x16 anstatt z.B. 15x15 Tiles ? AWT, Swing, JavaFX & SWT 10
F JFormattedTextField für kg und Währung AWT, Swing, JavaFX & SWT 6
V Swing für jedes Kästchen eine eigene Farbe AWT, Swing, JavaFX & SWT 2
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben