diff --git a/designer-base/src/main/java/com/fr/design/layout/TableLayout.java b/designer-base/src/main/java/com/fr/design/layout/TableLayout.java index b812263c6..43a7b7eed 100644 --- a/designer-base/src/main/java/com/fr/design/layout/TableLayout.java +++ b/designer-base/src/main/java/com/fr/design/layout/TableLayout.java @@ -321,7 +321,7 @@ public class TableLayout implements LayoutManager2, Serializable { this row/column. */ public static final double MINIMUM = -3.0; - + final double epsilon = 0.0000001; //****************************************************************************** //** Constructors *** @@ -1807,8 +1807,8 @@ public class TableLayout implements LayoutManager2, Serializable { for (counter = entry.cr1[z]; counter <= entry.cr2[z]; counter++) if (crSpec[z][counter] >= 1.0) scalableSize -= crSpec[z][counter]; - else if ((crSpec[z][counter] == PREFERRED) || - (crSpec[z][counter] == MINIMUM)) { + else if (Math.abs(crSpec[z][counter] - PREFERRED) < epsilon || + Math.abs(crSpec[z][counter] - MINIMUM) < epsilon) { scalableSize -= crPrefMin[counter]; } @@ -1824,13 +1824,13 @@ public class TableLayout implements LayoutManager2, Serializable { // Add scaled size to relativeWidth relativeSize += crSpec[z][counter]; // Cr is fill - else if ((crSpec[z][counter] == FILL) && (fillSizeRatio != 0.0)) + else if (Math.abs(crSpec[z][counter] - FILL) < epsilon && Math.abs(fillSizeRatio - 0.0) >= epsilon) // Add fill size to relativeWidth relativeSize += fillSizeRatio; } // Determine the total scaled size as estimated by this component - if (relativeSize == 0) + if (Math.abs(relativeSize - 0) < epsilon) temp = 0; else temp = (int) (scalableSize / relativeSize + 0.5); @@ -1851,8 +1851,8 @@ public class TableLayout implements LayoutManager2, Serializable { if (crSpec[z][counter] >= 1.0) totalSize += (int) (crSpec[z][counter] + 0.5); // Is the current cr a preferred/minimum size - else if ((crSpec[z][counter] == PREFERRED) || - (crSpec[z][counter] == MINIMUM)) { + else if (Math.abs(crSpec[z][counter] - PREFERRED) < epsilon|| + Math.abs(crSpec[z][counter] - MINIMUM) < epsilon) { // Add preferred/minimum width totalSize += crPrefMin[counter]; }