diff --git a/designer_base/src/com/fr/design/style/background/gradient/GradientBar.java b/designer_base/src/com/fr/design/style/background/gradient/GradientBar.java index 01894aa065..e9e6d092a9 100644 --- a/designer_base/src/com/fr/design/style/background/gradient/GradientBar.java +++ b/designer_base/src/com/fr/design/style/background/gradient/GradientBar.java @@ -180,9 +180,13 @@ public class GradientBar extends JComponent implements UIObserver,ColorSelectabl } float[] dist = new float[list.size()]; for (int i = 0; i < list.size(); i++) { - dist[i] = (float) ((list.get(i).getX() - 4) / (max - 4)); + float value = (float) ((list.get(i).getX() - 4) / (max - 4)); + if (0 <= value && value <= 1) { + dist[i] = value; + } else { + dist[i] = value < 0 ? 0 : 1; + } } - dist = correctDist(dist); LinearGradientPaint paint = new LinearGradientPaint(start, end, dist, c); g2.setPaint(paint); @@ -194,17 +198,6 @@ public class GradientBar extends JComponent implements UIObserver,ColorSelectabl } } - /** - * 确保dist在0-1之间 - */ - public float[] correctDist(float[] dist){ - if (dist.length == 2) { - dist[0] = dist[0] < 0 ? 0 : dist[0]; - dist[1] = dist[1] > 1 ? 1 : dist[1]; - } - return dist; - } - /** * 状态改变 */