I added a little division by zero check to JTable. That one caused
problems in some corner cases (when the layout is not yet computed and
someting == 0).
2006-03-03 Roman Kennke <[EMAIL PROTECTED]>
* javax/swing/JTable.java
(distributeSpillResizing): Avoid ArithmeticException by checking
divisor.
/Roman
Index: javax/swing/JTable.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/JTable.java,v
retrieving revision 1.81
diff -u -r1.81 JTable.java
--- javax/swing/JTable.java 17 Feb 2006 16:07:09 -0000 1.81
+++ javax/swing/JTable.java 3 Mar 2006 14:14:31 -0000
@@ -1416,7 +1416,7 @@
protected boolean rowSelectionAllowed;
/**
- * @deprecated Use [EMAIL PROTECTED] #rowSelectionAllowed}, [EMAIL PROTECTED]
+ * Obsolete. Use [EMAIL PROTECTED] #rowSelectionAllowed}, [EMAIL PROTECTED]
* #getColumnSelectionAllowed}, or the combined methods [EMAIL PROTECTED]
* #getCellSelectionEnabled} and [EMAIL PROTECTED] #setCellSelectionEnabled(boolean)}.
*/
@@ -3092,7 +3092,9 @@
private void distributeSpillResizing(TableColumn[] cols, int spill,
TableColumn resizeIt)
{
- int average = spill / (cols.length-1);
+ int average = 0;
+ if (cols.length != 1)
+ average = spill / (cols.length-1);
for (int i = 0; i < cols.length; i++)
{
if (cols[i] != null && !cols[i].equals(resizeIt))