From baa2aa8867593b27b8814858bab00742806ed373 Mon Sep 17 00:00:00 2001 From: Scotthew Date: Tue, 9 Oct 2012 10:34:19 -0700 Subject: [PATCH] - Fixed unhandled exception when user hits ctrl+ENTER with no data or bad data in the multiply text field. - Changed variable from foo to tableFrame. I find that tableFrame is more descriptive. - Added ability to use space as well as enter to open the selected table. Using space seems to retain the selected table where enter instead shifts focus to the top level ROM node. --- src/com/romraider/swing/MDIDesktopPane.java | 4 ++-- src/com/romraider/swing/RomTree.java | 12 +++++------- src/com/romraider/swing/TableToolBar.java | 9 +++++---- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/com/romraider/swing/MDIDesktopPane.java b/src/com/romraider/swing/MDIDesktopPane.java index f6c63a19..5714e1e4 100644 --- a/src/com/romraider/swing/MDIDesktopPane.java +++ b/src/com/romraider/swing/MDIDesktopPane.java @@ -88,8 +88,8 @@ public class MDIDesktopPane extends JDesktopPane { } moveToFront(frame); frame.setVisible(true); - TableFrame foo = (TableFrame) frame; - parent.updateTableToolBar(foo.getTable(), true); + TableFrame tableFrame = (TableFrame) frame; + parent.updateTableToolBar(tableFrame.getTable(), true); try { frame.setSelected(true); } catch (PropertyVetoException e) { diff --git a/src/com/romraider/swing/RomTree.java b/src/com/romraider/swing/RomTree.java index 543da064..e4902284 100644 --- a/src/com/romraider/swing/RomTree.java +++ b/src/com/romraider/swing/RomTree.java @@ -49,10 +49,7 @@ public class RomTree extends JTree implements MouseListener { setFont(new Font("Tahoma", Font.PLAIN, 11)); // key binding actions - Action enterAction = new AbstractAction() { - /** - * - */ + Action tableSelectAction = new AbstractAction() { private static final long serialVersionUID = -6008026264821746092L; @Override @@ -66,7 +63,9 @@ public class RomTree extends JTree implements MouseListener { }; this.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "enter"); - this.getActionMap().put("enter", enterAction); + this.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0), "space"); + this.getActionMap().put("enter", tableSelectAction); + this.getActionMap().put("space", tableSelectAction); } public ECUEditor getEditor() { @@ -97,13 +96,12 @@ public class RomTree extends JTree implements MouseListener { editor.displayTable(node.getFrame()); } setLastSelectedRom(selectedRow); - editor.getEditorMenuBar().updateMenu(); - editor.getToolBar().updateButtons(); } catch (NullPointerException ex) { } } private void setLastSelectedRom(Object selectedNode) { + TreePath selectedPath = getSelectionPath(); if (selectedNode instanceof TableTreeNode || selectedNode instanceof CategoryTreeNode || selectedNode instanceof RomTreeNode) { Object lastSelectedPathComponent = getLastSelectedPathComponent(); diff --git a/src/com/romraider/swing/TableToolBar.java b/src/com/romraider/swing/TableToolBar.java index 9c524225..34a7a163 100644 --- a/src/com/romraider/swing/TableToolBar.java +++ b/src/com/romraider/swing/TableToolBar.java @@ -183,9 +183,6 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene // key binding actions Action enterAction = new AbstractAction() { - /** - * - */ private static final long serialVersionUID = -6008026264821746092L; @Override @@ -366,7 +363,11 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene } public void multiply() { - table.multiply(Double.parseDouble(setValueText.getText())); + try{ + table.multiply(Double.parseDouble(setValueText.getText())); + }catch(NumberFormatException nex) { + // Do Nothing. setValueText is null or not a valid double. + } } public void incrementFine() {