super.processLowLevelEvent(action, values);
processKeyEvents(values);
    public void processLowLevelEvent(String action, String[] values) {        super.processLowLevelEvent(action, values);        // delay events...        getSelectionModel().setDelayEvents(true);        getSelectionModel().setValueIsAdjusting(true);        for (int i = 0; i < values.length; i++) {            String value = values[i];            if (value.length() > 1) {                char modus = value.charAt(0);                value = value.substring(1);                int colonIndex = value.indexOf(':');                if (colonIndex < 0)                    continue; // maybe next value fits ...                try {                    int row = Integer.parseInt(value.substring(0, colonIndex));                    int col = Integer.parseInt(value.substring(colonIndex + 1));                    // editor event                    switch (modus) {                        case 'e':                            editCellAt(row, col, null);                            break;                        case 't':                            if (getSelectionModel().isSelectedIndex(row))                                getSelectionModel().removeSelectionInterval(row, row);                            else                                getSelectionModel().addSelectionInterval(row, row);                            break;                        case 's':                            getSelectionModel().addSelectionInterval(row, row);                            break;                        case 'd':                            getSelectionModel().removeSelectionInterval(row, row);                            break;                    }                } catch (NumberFormatException ex) {                    // hier loggen...                    ex.printStackTrace();                }            }        }        getSelectionModel().setValueIsAdjusting(false);        getSelectionModel().setDelayEvents(false);        SForm.addArmedComponent(this);    }