3 Stimmen

Wie erhält man JTable selectedRow und selectedColumn während FocusLost Ereignis

Wann immer es ein lostFocus innerhalb einer JTable gibt, muss ich die vorhandene Zelle Zeile und Spalte zu erfassen.

Die folgende Bedingung ist jedoch immer falsch, da die Quelle immer entweder ein JTextField oder eine JComboBox ist.

public void focusLost(FocusEvent e) {
int row, col;

Object source = e.getSource();
if(((Component) source).getParent() instanceof JTable_Ext){  //<-- always false
    table = (JTable_Ext) ((Component) source).getParent();
    row = table.getSelectedRow();
    col = table.getSelectedColumn();
}

Um das oben genannte zu mildern, erinnere ich die Zeile und Spalte während FocusGained (als Klasse Ebene Variable). Das Problem ist, wenn der Benutzer sehr schnell überall innerhalb der JTable klicken, irgendwie die Zeile und Spalte Informationen werden aus der Synchronisation sein.

Gibt es eine Möglichkeit, die Zeile und Spalte während FocusLost zu erhalten? Wenn nicht, gibt es eine bessere Möglichkeit, dies zu tun?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X