r3718 - trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook
Author: sbavencoff Date: 2013-12-06 14:25:34 +0100 (Fri, 06 Dec 2013) New Revision: 3718 Url: http://chorem.org/projects/lima/repository/revisions/3718 Log: [Entry Book] : fix error in modify or delete when selected row is empty Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookViewHandler.java Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookViewHandler.java 2013-11-22 16:49:26 UTC (rev 3717) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookViewHandler.java 2013-12-06 13:25:34 UTC (rev 3718) @@ -180,33 +180,35 @@ EntryBookTableModel entryBookTableModel = (EntryBookTableModel) entryBookTable.getModel(); int selectedRow = entryBookTable.getSelectedRow(); - EntryBook selectedEntryBook = entryBookTableModel.getEntryBookAtRow(selectedRow); - final EntryBookForm entryBookForm = new EntryBookForm(view); + if (selectedRow >= 0) { + EntryBook selectedEntryBook = entryBookTableModel.getEntryBookAtRow(selectedRow); + final EntryBookForm entryBookForm = new EntryBookForm(view); - InputMap inputMap = entryBookForm.getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); - ActionMap actionMap = entryBookForm.getRootPane().getActionMap(); - String binding = "dispose"; - inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), binding); - actionMap.put(binding, new AbstractAction() { - @Override - public void actionPerformed(ActionEvent e) { - entryBookForm.performCancel(); - } - }); + InputMap inputMap = entryBookForm.getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + ActionMap actionMap = entryBookForm.getRootPane().getActionMap(); + String binding = "dispose"; + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), binding); + actionMap.put(binding, new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + entryBookForm.performCancel(); + } + }); - entryBookForm.setAddState(false); - entryBookForm.setEntryBook(selectedEntryBook); - entryBookForm.setLocationRelativeTo(view); - entryBookForm.setVisible(true); + entryBookForm.setAddState(false); + entryBookForm.setEntryBook(selectedEntryBook); + entryBookForm.setLocationRelativeTo(view); + entryBookForm.setVisible(true); - // null == cancel action - selectedEntryBook = entryBookForm.getEntryBook(); - if (selectedEntryBook != null) { - // service call - selectedEntryBook = entryBookService.updateEntryBook(selectedEntryBook); + // null == cancel action + selectedEntryBook = entryBookForm.getEntryBook(); + if (selectedEntryBook != null) { + // service call + selectedEntryBook = entryBookService.updateEntryBook(selectedEntryBook); - // ui refresh - entryBookTableModel.updateEntryBook(selectedEntryBook); + // ui refresh + entryBookTableModel.updateEntryBook(selectedEntryBook); + } } } @@ -216,21 +218,23 @@ public void deleteEntryBook() { JXTable entryBookTable = view.getEntryBooksTable(); int selectedRow = entryBookTable.getSelectedRow(); - EntryBookTableModel entryBookTableModel = (EntryBookTableModel) entryBookTable.getModel(); - EntryBook selectedEntryBook = entryBookTableModel.getEntryBookAtRow(selectedRow); + if (selectedRow >= 0) { + EntryBookTableModel entryBookTableModel = (EntryBookTableModel) entryBookTable.getModel(); - int response = JOptionPane.showConfirmDialog(view, - _("lima.ui.entrybook.deletemessage", selectedEntryBook.getLabel()), - _("lima.ui.entrybook.deletetitle"), JOptionPane.YES_NO_OPTION, - JOptionPane.QUESTION_MESSAGE); + EntryBook selectedEntryBook = entryBookTableModel.getEntryBookAtRow(selectedRow); - if (response == JOptionPane.YES_OPTION) { + int response = JOptionPane.showConfirmDialog(view, + _("lima.ui.entrybook.deletemessage", selectedEntryBook.getLabel()), + _("lima.ui.entrybook.deletetitle"), JOptionPane.YES_NO_OPTION, + JOptionPane.QUESTION_MESSAGE); - entryBookService.removeEntryBook(selectedEntryBook); - entryBookTableModel.removeEntryBook(selectedEntryBook); + if (response == JOptionPane.YES_OPTION) { + + entryBookService.removeEntryBook(selectedEntryBook); + entryBookTableModel.removeEntryBook(selectedEntryBook); + } } - } /**
participants (1)
-
sbavencoffļ¼ users.chorem.org