@Override
        public void actionPerformed(ActionEvent e) {
            final String cmd = e.getActionCommand();
            final int ri;
            final int ci;
            if (cmd == null) {
                assert false : "command is null";
                return;
            } else if (cmd.endsWith("-to-home")) {
                ri = 0;
                ci = 0;
            } else if (cmd.endsWith("-to-end")) {
                ri = table.getRowCount() - 1;
                ci = table.getColumnCount() - 1;
            } else if (cmd.endsWith("-to-top")) {
                ri = 0;
                ci = getColumnPosition();
            } else if (cmd.endsWith("-to-bottom")) {
                ri = table.getRowCount() - 1;
                ci = getColumnPosition();
            } else if (cmd.endsWith("-to-leftmost")) {
                ri = getRowPosition();
                ci = 0;
            } else if (cmd.endsWith("-to-rightmost")) {
                ri = getRowPosition();
                ci = table.getColumnCount() - 1;
            } else {
                assert false : "unknown command: " + cmd;
                return;
            }
            table.changeSelection(ri, ci, false, extend);
        }