Keyevents abfangen in einer JTable

Status
Nicht offen für weitere Antworten.

JamesDean

Mitglied
Habe einen JTable mit einem Mouselistener...

myJTable.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
.
.
.

funktioniert.


jetzt möchte ich aber auch gern auf die Cursortasten reagiert wird. zum beispiel wenn ich mit den cursor down eine zeile in der tabelle nach unten gehe. habe es schon mit einem keylistener versucht aber ohne erfolg.


vielleicht kann mir jemand helfen...
 

André Uhres

Top Contributor
Code:
import java.awt.event.*;
import javax.swing.*;
public class TabellenKeyEvents extends JFrame {
    public TabellenKeyEvents() {
        setTitle("Drücke die Pfeil-Tasten um die Events zu sehen");
        setDefaultCloseOperation( EXIT_ON_CLOSE );
        setSize(400,300);
        setLocationRelativeTo( null );
        JTable tabelle = new JTable(15, 5);
        getContentPane().add( new JScrollPane( tabelle ) );
        setKeyAktion(KeyEvent.VK_DOWN, tabelle);
        setKeyAktion(KeyEvent.VK_UP, tabelle);
        setKeyAktion(KeyEvent.VK_RIGHT, tabelle);
        setKeyAktion(KeyEvent.VK_LEFT, tabelle);
    }
    private void setKeyAktion(final int tasteCode, final JTable tabelle){
        InputMap im = tabelle.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
        KeyStroke taste = KeyStroke.getKeyStroke(tasteCode, 0);
        Object tasteFunktion = im.get(taste);
        final Action alteTasteAktion = tabelle.getActionMap().get(tasteFunktion);
        Action tasteAktion = new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
                alteTasteAktion.actionPerformed( e );
                JTable tabelle = (JTable)e.getSource();
                int zeile = tabelle.getSelectedRow();
                int spalte = tabelle.getSelectedColumn();
                for (int i = 0; i < tabelle.getRowCount(); i++) {
                    for (int j = 0; j < tabelle.getColumnCount(); j++) tabelle.setValueAt("",i,j);
                }
                if(tasteCode==KeyEvent.VK_LEFT) tabelle.setValueAt("Links",zeile,spalte);
                if(tasteCode==KeyEvent.VK_RIGHT) tabelle.setValueAt("Rechts",zeile,spalte);
                if(tasteCode==KeyEvent.VK_UP) tabelle.setValueAt("Hoch",zeile,spalte);
                if(tasteCode==KeyEvent.VK_DOWN) tabelle.setValueAt("Runter",zeile,spalte);
            }
        };
        tabelle.getActionMap().put(tasteFunktion, tasteAktion);
    }
    public static void main(String[] args) { new TabellenKeyEvents().setVisible(true);}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P SWT: KeyEvents abfangen, wenn Programm minimiert ist? AWT, Swing, JavaFX & SWT 5
D KeyEvents funktionieren nicht AWT, Swing, JavaFX & SWT 8
K selbstgeschrieben Texteditor: empfangen von KeyEvents AWT, Swing, JavaFX & SWT 2
M KeyEvents für NumPad AWT, Swing, JavaFX & SWT 10
KrokoDiehl Swing KeyEvents für JDialog / JFrame AWT, Swing, JavaFX & SWT 2
X Keyevents nach Beartbeitung löschen AWT, Swing, JavaFX & SWT 2
L Swing JPanel sendet keine KeyEvents AWT, Swing, JavaFX & SWT 22
S KeyEvents in Linux und Windows AWT, Swing, JavaFX & SWT 14
F KeyStroke für mehrere KeyEvents AWT, Swing, JavaFX & SWT 4
A Mehrere KeyEvents kombinieren AWT, Swing, JavaFX & SWT 12
X Spielsteuerung / AWT-Keyevents AWT, Swing, JavaFX & SWT 13
B problem mit KeyEvents AWT, Swing, JavaFX & SWT 2
B KeyEvents und JWindow AWT, Swing, JavaFX & SWT 6
T ScrollEvent richtig(er) abfangen? AWT, Swing, JavaFX & SWT 0
A JOptionPane OK ohne Eingabe abfangen AWT, Swing, JavaFX & SWT 10
Neumi5694 Swing JList - Klick abfangen AWT, Swing, JavaFX & SWT 3
D Swing Events vom JLayer abfangen AWT, Swing, JavaFX & SWT 2
E Outlook Email Senden-Button abfangen AWT, Swing, JavaFX & SWT 5
C Programm für 5 sekunden anhalten und actionevent abfangen AWT, Swing, JavaFX & SWT 18
T Swing JTextPane Tastatureingabe abfangen AWT, Swing, JavaFX & SWT 4
M JFileChooser Abfangen des DateiTypen möglich?? AWT, Swing, JavaFX & SWT 5
S Swing JTable - Editierung von Zellen abfangen AWT, Swing, JavaFX & SWT 3
P Action Event abfangen etwas anders? AWT, Swing, JavaFX & SWT 2
M JOptionPane.showInputDialog abbrechen abfangen? AWT, Swing, JavaFX & SWT 2
P Swing Tastaturereignisse auf gesamten Frame Abfangen AWT, Swing, JavaFX & SWT 13
sylo STRG + TAB KeyEvent abfangen AWT, Swing, JavaFX & SWT 6
M JTextField Tastendruck Abfangen AWT, Swing, JavaFX & SWT 3
H warum kann ich das focus event nicht abfangen ? AWT, Swing, JavaFX & SWT 5
C JTable: Alle selektierten Zellen abfangen AWT, Swing, JavaFX & SWT 13
J JPanel.addKeyListener() - JEDEN Tastendruck im Panel abfangen AWT, Swing, JavaFX & SWT 2
J AWT Abfangen der Rohdaten die PrinterJob zum Drucker sendet AWT, Swing, JavaFX & SWT 2
P Leere Textfelder abfangen AWT, Swing, JavaFX & SWT 4
F MouseEvent bei PopupMenu abfangen AWT, Swing, JavaFX & SWT 2
K Tastatureingaben abfangen AWT, Swing, JavaFX & SWT 25
H Ich kann MouseDragged nicht abfangen AWT, Swing, JavaFX & SWT 3
G Swing Fortschrittsbalken im Fenster: Menü deaktivieren / abfangen? AWT, Swing, JavaFX & SWT 27
pinerski Swing JList Tastatureingaben abfangen AWT, Swing, JavaFX & SWT 2
M Doppelklick auf Component abfangen AWT, Swing, JavaFX & SWT 5
E Swing Wechsel in JCheckBox abfangen AWT, Swing, JavaFX & SWT 10
R ALt+CTRL down, wie abfangen? AWT, Swing, JavaFX & SWT 2
R Checkboxen - Event mit Controller abfangen AWT, Swing, JavaFX & SWT 7
K Alle Events abfangen mit GlassPane AWT, Swing, JavaFX & SWT 7
E MouseEvent von Kindelementen abfangen AWT, Swing, JavaFX & SWT 2
R Texteingabe abfangen AWT, Swing, JavaFX & SWT 5
K JTable und auf den Tabellenkopf-Click-Event abfangen AWT, Swing, JavaFX & SWT 2
M Globale Events in Windows abfangen AWT, Swing, JavaFX & SWT 2
S Events abfangen, nicht durchlassen AWT, Swing, JavaFX & SWT 2
G Zwischenablage abfangen AWT, Swing, JavaFX & SWT 4
M JTable alte Daten vor Änderung abfangen AWT, Swing, JavaFX & SWT 11
D Wie Taste "ENTER" bei PlainDocument abfangen? AWT, Swing, JavaFX & SWT 2
P SWT Fenster schließen abfangen AWT, Swing, JavaFX & SWT 4
S Minimieren abfangen AWT, Swing, JavaFX & SWT 2
A Tasten abfangen AWT, Swing, JavaFX & SWT 9
M Tastendruck abfangen AWT, Swing, JavaFX & SWT 8
S "Enter" in JTextField abfangen AWT, Swing, JavaFX & SWT 7
B Tastatureingabe in JComboBox abfangen. AWT, Swing, JavaFX & SWT 6
K JFrame setDefaultCloseOperation: Wie abfangen? AWT, Swing, JavaFX & SWT 2
G Ein klick auf JPanel abfangen und verarbeiten? AWT, Swing, JavaFX & SWT 3
F Habe Problem mit dem Abfangen einer Exception AWT, Swing, JavaFX & SWT 10
S Events bei 2 gleichen Jtree abfangen AWT, Swing, JavaFX & SWT 3
M Ereignis der JList abfangen AWT, Swing, JavaFX & SWT 2
O Exception abfangen AWT, Swing, JavaFX & SWT 19
K MouseEvents vor den Components abfangen? AWT, Swing, JavaFX & SWT 4
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
T VerifyListener - Ersetzen einer 0 AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
U Was genau ist das Objekt einer affinentransformation? AWT, Swing, JavaFX & SWT 1
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
mac2010 JavaFX Einbindung einer Karte AWT, Swing, JavaFX & SWT 1
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4
J Ablaufsteuerung/Anleitung machen mit JDialog und einer Zustandsmaschine AWT, Swing, JavaFX & SWT 1
missy72 JavaFX Wiederholen einer IF-Abfrage beim erneuten Öffnen einer Stage AWT, Swing, JavaFX & SWT 11
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
missy72 JavaFX ObservableList in einer ArrayList speichern. AWT, Swing, JavaFX & SWT 7
HoT Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle AWT, Swing, JavaFX & SWT 3
kodela Swing Element einer JComboBox ausgrauen AWT, Swing, JavaFX & SWT 3
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
N Einer TextArea ein ScrollPane hinzufügen AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben