On Mon, 29 Jul 2002, Hua Zhong wrote:
> Hi can you try the latest version 1.4? Let me know if it doesn't work for
> you.
>
It still does not work. There are less frequent IllegalArgumentException,
but still some remain.
If I
- remove one column
- then open a recent file
Then I get the same usual IllegalArgumentException, due to the same
"shrinking table" cause.
--- SharpTools.java 2002/08/05 11:30:52 1.1
+++ SharpTools.java 2002/08/05 12:34:22
@@ -1160,6 +1160,9 @@
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if (lsm.isSelectionEmpty()) {
+ // DEBUG
+ System.out.println("baseCol is "+ baseCol + ", colcount is " +table.getColumnCount());
+
// always set selection
table.setRowSelectionInterval(baseRow, baseRow);
table.setColumnSelectionInterval(baseCol, baseCol);
baseCol is 1, colcount is 10
baseCol is 1, colcount is 10
baseCol is 1, colcount is 9
baseCol is 1, colcount is 7
baseCol is 1, colcount is 5
baseCol is 1, colcount is 3
baseCol is 1, colcount is 1
java.lang.IllegalArgumentException: Column index out of range
at javax.swing.JTable.boundColumn(JTable.java:1262)
at javax.swing.JTable.setColumnSelectionInterval(JTable.java:1292)
at SharpTools.valueChanged(SharpTools.java:1165)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:187)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:214)
at javax.swing.DefaultListSelectionModel.removeIndexInterval(DefaultListSelectionModel.java:544)
at javax.swing.table.DefaultTableColumnModel.removeColumn(DefaultTableColumnModel.java:130)
at javax.swing.JTable.createDefaultColumnsFromModel(JTable.java:920)
at javax.swing.JTable.tableChanged(JTable.java:2831)
at javax.swing.JTable.setModel(JTable.java:2699)
at SharpTools.newTableModel(SharpTools.java:934)
at FileOp.openTableModel(FileOp.java:428)
at RecentFileListener.actionPerformed(FileOp.java:868)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1767)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1820)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1092)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:932)
at java.awt.Component.processMouseEvent(Component.java:5021)
at java.awt.Component.processEvent(Component.java:4818)
at java.awt.Container.processEvent(Container.java:1525)
at java.awt.Component.dispatchEventImpl(Component.java:3526)
at java.awt.Container.dispatchEventImpl(Container.java:1582)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3359)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3074)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3004)
at java.awt.Container.dispatchEventImpl(Container.java:1568)
at java.awt.Window.dispatchEventImpl(Window.java:1581)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:191)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
quick workaround