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))

Reply via email to