I finally figured it out. There is no key binding to the set, the action map does not exist. Thus, the appeals did nothing.
table.getInputMap().put(KeyStroke.getKeyStroke("control S"), "none"); table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke("control S"), "none"); table.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("control S"), "none"); table.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("control S"), "none"); ((InputMap)UIManager.get("Table.ancestorInputMap")).put(KeyStroke.getKeyStroke("control S"), "none");
JTable passes the key event for editing CallAt there, running a table to enable editing. There are two ways. 1) Add an action link to the JTable input / action cards or 2) override editCellAt to return false. This is how I ran into the problem.
public boolean editCellAt(int row, int column, EventObject e){ if(e instanceof KeyEvent){ int i = ((KeyEvent) e).getModifiers(); String s = KeyEvent.getModifiersExText(((KeyEvent) e).getModifiers());
kirbs source share