Hi,
ich code schon ein paar Stunden an einer Komponente rum und komme nicht zu dem Ergebnis dass ich gerne hätte.
Meine Vorstellung:
Eine JTable zum Erfassen von Artikelpreisen:
Spalte 1: Artikelnummer
Spalte 2: Beschreibung
Spalte 3: Preis
Gewünschtes Verhalten:
- ich möchte die Zellen direkt editieren können ohne erst einen Doppelklick machen zu müssen.
- nach der Eingabe der Artikelnummer sollte in einer Datenbank nach dem Artikel gesucht werden und wenn vorhanden eingetragen (Fokus auf Preisfeld)
- Beim Drücken von Return sollte der Fokus in die nächste Spalte und am Ende der Zeile in die nächste Zeile springen
- Beim Auswählen einer Zelle sollte der Inhalt bereits selektiert werden damit er direkt überschrieben werden kann.
Was ich habe:
Den Artikel suchen
- habe ich im Model über die Methode setValueAt realisiert.
ich frage die Spalte ab und reagiere entsprechend (Funktionsaufruf, "Daten laden")
die Zeilen direkt editieren
- habe ich realisiert durch den Aufruf von
bei Enter in nächste Spalte
- habe ich über einen KeyListener bei der Table versucht, ohne Erfolg.
- Das Event der Componente wird scheinbar ausgeführt, aber der Focus ändert sich nicht.
bei Focus Inhalt selektieren
- ich habe der TextField Komponente einen FocusListener gegeben aber das hat nichts bewirkt
ich code schon ein paar Stunden an einer Komponente rum und komme nicht zu dem Ergebnis dass ich gerne hätte.
Meine Vorstellung:
Eine JTable zum Erfassen von Artikelpreisen:
Spalte 1: Artikelnummer
Spalte 2: Beschreibung
Spalte 3: Preis
Gewünschtes Verhalten:
- ich möchte die Zellen direkt editieren können ohne erst einen Doppelklick machen zu müssen.
- nach der Eingabe der Artikelnummer sollte in einer Datenbank nach dem Artikel gesucht werden und wenn vorhanden eingetragen (Fokus auf Preisfeld)
- Beim Drücken von Return sollte der Fokus in die nächste Spalte und am Ende der Zeile in die nächste Zeile springen
- Beim Auswählen einer Zelle sollte der Inhalt bereits selektiert werden damit er direkt überschrieben werden kann.
Was ich habe:
Den Artikel suchen
- habe ich im Model über die Methode setValueAt realisiert.
ich frage die Spalte ab und reagiere entsprechend (Funktionsaufruf, "Daten laden")
die Zeilen direkt editieren
- habe ich realisiert durch den Aufruf von
Code:
((DefaultCellEditor)table.getDefaultEditor(Object.class)).setClickCountToStart(1);
bei Enter in nächste Spalte
- habe ich über einen KeyListener bei der Table versucht, ohne Erfolg.
- Das Event der Componente wird scheinbar ausgeführt, aber der Focus ändert sich nicht.
bei Focus Inhalt selektieren
- ich habe der TextField Komponente einen FocusListener gegeben aber das hat nichts bewirkt