Browse Source

Pull request #3468: CHART-17775 像素 & 百分比控件优化

Merge in DESIGN/design from ~BJORN/design:release/10.0 to release/10.0

* commit 'f5509f100b3134c0bfcbfd8624463c8e2a7e17d3':
  CHART-17775 删除无用方法
  CHART-17775 像素 & 百分比控件优化
feature/big-screen
Bjorn 4 years ago
parent
commit
502bb7ebe4
  1. 24
      designer-base/src/main/java/com/fr/design/gui/frpane/UINumberDragPaneWithPercent.java
  2. 26
      designer-base/src/main/java/com/fr/design/gui/ispinner/UISpinner.java
  3. 15
      designer-base/src/main/java/com/fr/design/gui/ispinner/chart/UISpinnerWithPercent.java
  4. 20
      designer-base/src/main/java/com/fr/design/gui/ispinner/chart/UISpinnerWithPx.java
  5. 26
      designer-base/src/main/java/com/fr/design/gui/ispinner/chart/UISpinnerWithUnit.java
  6. 22
      designer-base/src/main/java/com/fr/design/gui/itextfield/UINumberField.java
  7. 114
      designer-base/src/main/java/com/fr/design/gui/itextfield/UINumberFieldWithUnit.java
  8. 3
      designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/LabelAlphaPane.java
  9. 3
      designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxBorderPane.java
  10. 5
      designer-chart/src/main/java/com/fr/van/chart/bubble/component/VanChartBubblePane.java
  11. 3
      designer-chart/src/main/java/com/fr/van/chart/column/ColumnBorderAttriPane.java
  12. 8
      designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnSeriesPane.java
  13. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartAreaSeriesFillColorPane.java
  14. 5
      designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartLineTypePane.java
  15. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTrendLinePane.java
  16. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPane.java
  17. 23
      designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPaneWithOutImageAndShadow.java
  18. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundWithOutShadowWithRadiusPane.java
  19. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/component/border/VanChartBorderWithAlphaPane.java
  20. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/component/border/VanChartBorderWithRadiusPane.java
  21. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/component/border/VanChartBorderWithShapePane.java
  22. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/component/marker/VanChartCommonMarkerPane.java
  23. 11
      designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartPlotLegendPane.java
  24. 11
      designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartTitlePane.java
  25. 10
      designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java
  26. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAlertValuePane.java
  27. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartCustomIntervalBackgroundPane.java
  28. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/style/series/VanChartAbstractPlotSeriesPane.java
  29. 10
      designer-chart/src/main/java/com/fr/van/chart/drillmap/designer/other/VanChartDrillMapInteractivePane.java
  30. 3
      designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/axis/GanttAxisStylePane.java
  31. 6
      designer-chart/src/main/java/com/fr/van/chart/gauge/VanChartGaugeSeriesPane.java
  32. 20
      designer-chart/src/main/java/com/fr/van/chart/heatmap/designer/style/VanChartHeatMapSeriesPane.java
  33. 3
      designer-chart/src/main/java/com/fr/van/chart/map/VanChartMapSeriesPane.java
  34. 3
      designer-chart/src/main/java/com/fr/van/chart/map/designer/style/series/VanChartMapAnchorMarkerPane.java
  35. 6
      designer-chart/src/main/java/com/fr/van/chart/map/line/VanChartCurvePane.java
  36. 7
      designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieSeriesPane.java
  37. 11
      designer-chart/src/main/java/com/fr/van/chart/pie/RadiusCardLayoutPane.java
  38. 10
      designer-chart/src/main/java/com/fr/van/chart/pie/VanChartPieSeriesPane.java
  39. 46
      designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/StructureNodeStylePane.java
  40. 35
      designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureSeriesPane.java
  41. 51
      designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudSeriesPane.java

24
designer-base/src/main/java/com/fr/design/gui/frpane/UINumberDragPaneWithPercent.java

@ -0,0 +1,24 @@
package com.fr.design.gui.frpane;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPercent;
/**
* @author Bjorn
* @version 10.0
* Created by Bjorn on 2021-01-21
*/
public class UINumberDragPaneWithPercent extends UINumberDragPane {
public UINumberDragPaneWithPercent(double minValue, double maxValue) {
super(minValue, maxValue);
}
public UINumberDragPaneWithPercent(double minValue, double maxValue, double dierta) {
super(minValue, maxValue, dierta);
}
protected UISpinner createUISpinner(double minValue, double maxValue, double dierta) {
return new UISpinnerWithPercent(minValue, maxValue, dierta, minValue);
}
}

26
designer-base/src/main/java/com/fr/design/gui/ispinner/UISpinner.java

@ -13,15 +13,28 @@ import com.fr.stable.CommonUtils;
import com.fr.stable.Constants; import com.fr.stable.Constants;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.stable.collections.utils.MathUtils; import javax.swing.ButtonModel;
import javax.swing.*; import javax.swing.Icon;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener; import javax.swing.event.DocumentListener;
import javax.swing.plaf.ButtonUI; import javax.swing.plaf.ButtonUI;
import java.awt.*; import java.awt.BorderLayout;
import java.awt.event.*; import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;
public class UISpinner extends JPanel implements UIObserver, GlobalNameObserver { public class UISpinner extends JPanel implements UIObserver, GlobalNameObserver {
@ -46,6 +59,9 @@ public class UISpinner extends JPanel implements UIObserver, GlobalNameObserver
*/ */
private int numberFieldColumns; private int numberFieldColumns;
public UISpinner() {
}
public UISpinner(double minValue, double maxValue, double dierta) { public UISpinner(double minValue, double maxValue, double dierta) {
init(minValue, maxValue, dierta); init(minValue, maxValue, dierta);
@ -56,7 +72,7 @@ public class UISpinner extends JPanel implements UIObserver, GlobalNameObserver
textField.setValue(defaultValue); textField.setValue(defaultValue);
} }
private void init(double minValue, double maxValue, double dierta) { protected void init(double minValue, double maxValue, double dierta) {
this.minValue = minValue; this.minValue = minValue;
this.maxValue = maxValue; this.maxValue = maxValue;
this.dierta = dierta; this.dierta = dierta;

15
designer-base/src/main/java/com/fr/design/gui/ispinner/chart/UISpinnerWithPercent.java

@ -0,0 +1,15 @@
package com.fr.design.gui.ispinner.chart;
/**
* @author Bjorn
* @version 10.0
* Created by Bjorn on 2021-01-21
*/
public class UISpinnerWithPercent extends UISpinnerWithUnit {
private static final String UNIT = "%";
public UISpinnerWithPercent(double minValue, double maxValue, double dierta, double defaultValue) {
super(minValue, maxValue, dierta, defaultValue, UNIT);
}
}

20
designer-base/src/main/java/com/fr/design/gui/ispinner/chart/UISpinnerWithPx.java

@ -0,0 +1,20 @@
package com.fr.design.gui.ispinner.chart;
/**
* @author Bjorn
* @version 10.0
* Created by Bjorn on 2021-01-21
*/
public class UISpinnerWithPx extends UISpinnerWithUnit {
private static final String UNIT = "px";
public UISpinnerWithPx(double defaultValue) {
this(0, Double.MAX_VALUE, 1, defaultValue);
}
public UISpinnerWithPx(double minValue, double maxValue, double dierta, double defaultValue) {
super(minValue, maxValue, dierta, defaultValue, UNIT);
this.getTextField().canFillNegativeNumber(false);
}
}

26
designer-base/src/main/java/com/fr/design/gui/ispinner/chart/UISpinnerWithUnit.java

@ -0,0 +1,26 @@
package com.fr.design.gui.ispinner.chart;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.itextfield.UINumberField;
import com.fr.design.gui.itextfield.UINumberFieldWithUnit;
/**
* @author Bjorn
* @version 10.0
* Created by Bjorn on 2021-01-20
*/
public class UISpinnerWithUnit extends UISpinner {
private String unit;
public UISpinnerWithUnit(double minValue, double maxValue, double dierta, double defaultValue, String unit) {
this.unit = unit;
init(minValue, maxValue, dierta);
getTextField().setValue(defaultValue);
}
@Override
protected UINumberField initNumberField() {
return new UINumberFieldWithUnit(3, unit);
}
}

22
designer-base/src/main/java/com/fr/design/gui/itextfield/UINumberField.java

@ -1,16 +1,15 @@
package com.fr.design.gui.itextfield; package com.fr.design.gui.itextfield;
import com.fr.base.Utils; import com.fr.base.Utils;
import com.fr.design.gui.ilable.UILabel;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.stable.CoreConstants; import com.fr.stable.CoreConstants;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import javax.swing.*;
import javax.swing.text.AttributeSet; import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException; import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument; import javax.swing.text.PlainDocument;
import java.awt.*; import java.awt.Dimension;
import java.awt.Toolkit;
/** /**
* Number Field. * Number Field.
@ -193,7 +192,6 @@ public class UINumberField extends UITextField {
if (!fillNegativeNumber && strNew.contains("-")) { if (!fillNegativeNumber && strNew.contains("-")) {
return true; return true;
} }
boolean noChange = false;
boolean isMinus = strNew.startsWith("-"); boolean isMinus = strNew.startsWith("-");
strNew = strNew.replaceFirst("-", StringUtils.EMPTY); // 控制能输入负数 strNew = strNew.replaceFirst("-", StringUtils.EMPTY); // 控制能输入负数
String strIntPart; String strIntPart;
@ -207,25 +205,27 @@ public class UINumberField extends UITextField {
} }
if (isOverMaxOrMinValue(strIntPart, strDecPart, strNew)) { if (isOverMaxOrMinValue(strIntPart, strDecPart, strNew)) {
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
noChange = true; return true;
} }
return checkNumber(strNew, isMinus);
}
protected boolean checkNumber(String strValue, boolean isMinus) {
try { try {
if (!ComparatorUtils.equals(strNew, StringUtils.EMPTY) && !ComparatorUtils.equals(strNew, "-")) {// 控制能输入负数 if (!ComparatorUtils.equals(strValue, StringUtils.EMPTY) && !ComparatorUtils.equals(strValue, "-")) {// 控制能输入负数
double d = Double.parseDouble(strNew) * (isMinus ? -1 : 1); double d = Double.parseDouble(strValue) * (isMinus ? -1 : 1);
if (d < minValue || d > maxValue) { if (d < minValue || d > maxValue) {
throw new Exception(); throw new Exception();
} }
} }
} catch (Exception e) { } catch (Exception e) {
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
noChange = true; return true;
} }
return false;
return noChange;
} }
private boolean isOverMaxOrMinValue(String strIntPart, String strDecPart, String strNew) { protected boolean isOverMaxOrMinValue(String strIntPart, String strDecPart, String strNew) {
boolean checkLength = strIntPart.length() > maxIntegerLength boolean checkLength = strIntPart.length() > maxIntegerLength
|| strDecPart.length() > maxDecimalLength; || strDecPart.length() > maxDecimalLength;
return checkLength || (strNew.length() > 1 && ComparatorUtils.equals(strNew.substring(0, 1), "0") && !ComparatorUtils.equals(strNew.substring(1, 2), ".")); return checkLength || (strNew.length() > 1 && ComparatorUtils.equals(strNew.substring(0, 1), "0") && !ComparatorUtils.equals(strNew.substring(1, 2), "."));

114
designer-base/src/main/java/com/fr/design/gui/itextfield/UINumberFieldWithUnit.java

@ -0,0 +1,114 @@
package com.fr.design.gui.itextfield;
import com.fr.base.Utils;
import com.fr.general.ComparatorUtils;
import com.fr.stable.StringUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.awt.Toolkit;
/**
* @author Bjorn
* @version 10.0
* Created by Bjorn on 2021-01-20
* 这个控件不会限制输入的数字大小但是同样不允许输入数字之外的字符
*/
public class UINumberFieldWithUnit extends UINumberField {
private String unit;
private List<String> unitList = new ArrayList<>();
public UINumberFieldWithUnit(int columns, String unit) {
super(columns);
this.unit = unit;
initUnitList();
}
//对单位的字符进行组合
private void initUnitList() {
char[] chars = unit.toCharArray();
Set<String> set = new LinkedHashSet<>();
initUnitList(chars, 0, StringUtils.EMPTY, set);
unitList.addAll(set);
Collections.sort(unitList, Comparator.comparing(String::length));
}
private void initUnitList(char[] chars, int index, String str, Set<String> set) {
if (index == chars.length) {
return;
}
for (int i = index; i < chars.length; i++) {
String newStr = str + chars[i];
set.add(newStr);
initUnitList(chars, i + 1, newStr, set);
}
}
public void setFieldDocument() {
setDocument(new NumberDocumentNoLimit());
}
public void setValue(double value) {
this.setText(Utils.doubleToString(value) + unit);
}
public double getValue() throws NumberFormatException {
try {
String text = this.getText();
if (StringUtils.isEmpty(text)) {
return 0;
}
return Double.parseDouble(text.replace(getEndString(text), StringUtils.EMPTY));
} catch (NumberFormatException numberFormatException) {
return UINumberField.ERROR_VALUE;
}
}
private String getEndString(String text) {
int size = unitList.size();
for (int i = size - 1; i >= 0; i--) {
String unit = unitList.get(i);
if (text.endsWith(unit)) {
return unit;
}
}
return StringUtils.EMPTY;
}
class NumberDocumentNoLimit extends NumberDocument {
public boolean checkString(int offset, String s, String str) {
return (ComparatorUtils.equals(s, "F")
|| ComparatorUtils.equals(s, "f")
|| ComparatorUtils.equals(s, "D")
|| ComparatorUtils.equals(s, "d")
|| (ComparatorUtils.equals(s, ".") && getMaxDecimalLength() == 0));
}
protected boolean isOverMaxOrMinValue(String strIntPart, String strDecPart, String strNew) {
return super.isOverMaxOrMinValue(strIntPart, strDecPart, strNew.replaceFirst(getEndString(strNew), StringUtils.EMPTY));
}
protected boolean checkNumber(String strValue, boolean isMinus) {
try {
if (ComparatorUtils.equals(strValue, StringUtils.EMPTY) || ComparatorUtils.equals(strValue, "-")) {
return false;
}
Double.parseDouble(strValue.replaceFirst(getEndString(strValue), StringUtils.EMPTY));
} catch (Exception e) {
Toolkit.getDefaultToolkit().beep();
return true;
}
return false;
}
}
}

3
designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/LabelAlphaPane.java

@ -5,6 +5,7 @@ import com.fr.chart.base.DataSeriesCondition;
import com.fr.design.condition.ConditionAttrSingleConditionPane; import com.fr.design.condition.ConditionAttrSingleConditionPane;
import com.fr.design.condition.ConditionAttributesPane; import com.fr.design.condition.ConditionAttributesPane;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
@ -32,7 +33,7 @@ public class LabelAlphaPane extends ConditionAttrSingleConditionPane<DataSeriesC
nameLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Alpha")); nameLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Alpha"));
UILabel label = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Alpha") + ":"); UILabel label = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Alpha") + ":");
alphaPane = new UINumberDragPane(0, ALPHASIZE); alphaPane = new UINumberDragPaneWithPercent(0, ALPHASIZE);
JPanel panel = new JPanel(new BorderLayout()); JPanel panel = new JPanel(new BorderLayout());

3
designer-chart/src/main/java/com/fr/van/chart/box/VanChartBoxBorderPane.java

@ -4,6 +4,7 @@ import com.fr.base.background.ColorBackground;
import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.plugin.chart.base.AttrBorderWithWidth; import com.fr.plugin.chart.base.AttrBorderWithWidth;
@ -31,7 +32,7 @@ public class VanChartBoxBorderPane extends BasicBeanPane<AttrBorderWithWidth> {
}; };
} }
}; };
lineWidth = new UISpinner(0.5, Double.MAX_VALUE, 0.5, 0.5); lineWidth = new UISpinnerWithPx(0.5, Double.MAX_VALUE, 0.5, 0.5);
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{null, null}, new Component[]{null, null},

5
designer-chart/src/main/java/com/fr/van/chart/bubble/component/VanChartBubblePane.java

@ -4,6 +4,7 @@ import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
@ -24,8 +25,8 @@ public class VanChartBubblePane extends BasicBeanPane<VanChartAttrBubble> {
private UIButtonGroup<Integer> displayNegative; private UIButtonGroup<Integer> displayNegative;
public VanChartBubblePane(){ public VanChartBubblePane(){
minDiameter = new UISpinner(0,Double.MAX_VALUE,1,0); minDiameter = new UISpinnerWithPx(0);
maxDiameter = new UISpinner(0,Double.MAX_VALUE,1,0); maxDiameter = new UISpinnerWithPx(0);
shadow = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Open"), shadow = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Open"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Close")}); com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Close")});
displayNegative = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Open"), displayNegative = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Open"),

3
designer-chart/src/main/java/com/fr/van/chart/column/ColumnBorderAttriPane.java

@ -3,6 +3,7 @@ package com.fr.van.chart.column;
import com.fr.design.chart.comp.BorderAttriPane; import com.fr.design.chart.comp.BorderAttriPane;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import java.awt.Dimension; import java.awt.Dimension;
@ -19,7 +20,7 @@ public class ColumnBorderAttriPane extends BorderAttriPane {
public ColumnBorderAttriPane(String radiusString) { public ColumnBorderAttriPane(String radiusString) {
this.add(new UILabel(radiusString + ":")); this.add(new UILabel(radiusString + ":"));
radius = new UISpinner(0,1000,1,0); radius = new UISpinnerWithPx(0,1000,1,0);
this.add(radius); this.add(radius);
radius.setPreferredSize(new Dimension(60, 18)); radius.setPreferredSize(new Dimension(60, 18));
} }

8
designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnSeriesPane.java

@ -3,6 +3,8 @@ package com.fr.van.chart.column;
import com.fr.base.background.ImageBackground; import com.fr.base.background.ImageBackground;
import com.fr.chart.chartattr.Plot; import com.fr.chart.chartattr.Plot;
import com.fr.chart.chartglyph.ConditionAttr; import com.fr.chart.chartglyph.ConditionAttr;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
@ -76,10 +78,10 @@ public class VanChartColumnSeriesPane extends VanChartAbstractPlotSeriesPane {
private JPanel createSeriesStylePane(double[] row, double[] col) { private JPanel createSeriesStylePane(double[] row, double[] col) {
isFixedWidth = new UIButtonGroup<Integer>(new String[]{Toolkit.i18nText("Fine-Design_Chart_YES"), Toolkit.i18nText("Fine-Design_Chart_NO")}); isFixedWidth = new UIButtonGroup<Integer>(new String[]{Toolkit.i18nText("Fine-Design_Chart_YES"), Toolkit.i18nText("Fine-Design_Chart_NO")});
columnWidth = new UISpinner(0,1000,1,0); columnWidth = new UISpinnerWithPx(0,1000,1,0);
columnWidth.setBorder(BorderFactory.createEmptyBorder(0, (int)TableLayout4VanChartHelper.DESCRIPTION_AREA_WIDTH + TableLayout4VanChartHelper.COMPONENT_INTERVAL,0,0)); columnWidth.setBorder(BorderFactory.createEmptyBorder(0, (int)TableLayout4VanChartHelper.DESCRIPTION_AREA_WIDTH + TableLayout4VanChartHelper.COMPONENT_INTERVAL,0,0));
seriesGap = new UINumberDragPane(-100, 100); seriesGap = new UINumberDragPaneWithPercent(-100, 100);
categoryGap = new UINumberDragPane(0, 100); categoryGap = new UINumberDragPaneWithPercent(0, 100);
isFillWithImage = new UIButtonGroup<Integer>(new String[]{Toolkit.i18nText("Fine-Design_Chart_YES"), Toolkit.i18nText("Fine-Design_Chart_NO")}); isFillWithImage = new UIButtonGroup<Integer>(new String[]{Toolkit.i18nText("Fine-Design_Chart_YES"), Toolkit.i18nText("Fine-Design_Chart_NO")});
imagePane = new ImageBackgroundQuickPane(false); imagePane = new ImageBackgroundQuickPane(false);
imagePane.setBorder(BorderFactory.createEmptyBorder(0,(int)TableLayout4VanChartHelper.DESCRIPTION_AREA_WIDTH + TableLayout4VanChartHelper.COMPONENT_INTERVAL,0,0)); imagePane.setBorder(BorderFactory.createEmptyBorder(0,(int)TableLayout4VanChartHelper.DESCRIPTION_AREA_WIDTH + TableLayout4VanChartHelper.COMPONENT_INTERVAL,0,0));

3
designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartAreaSeriesFillColorPane.java

@ -2,6 +2,7 @@ package com.fr.van.chart.designer.component;
import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
@ -36,7 +37,7 @@ public class VanChartAreaSeriesFillColorPane extends BasicPane {
}; };
} }
}; };
transparent = new UINumberDragPane(0, 100); transparent = new UINumberDragPaneWithPercent(0, 100);
JPanel transparentPane = TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Alpha"), transparent); JPanel transparentPane = TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Alpha"), transparent);

5
designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartLineTypePane.java

@ -4,6 +4,7 @@ import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.utils.gui.UIComponentUtils; import com.fr.design.utils.gui.UIComponentUtils;
@ -15,11 +16,11 @@ import com.fr.plugin.chart.type.LineType;
import com.fr.van.chart.designer.TableLayout4VanChartHelper; import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import javax.swing.JPanel; import javax.swing.JPanel;
import java.util.Arrays;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Component; import java.awt.Component;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.Arrays;
/** /**
* line相关设置 * line相关设置
@ -74,7 +75,7 @@ public class VanChartLineTypePane extends BasicPane {
lineTypeComboBox = createLineType(); lineTypeComboBox = createLineType();
lineWidthSpinner = new UISpinner(LINE_WIDTH_MIN_VALUE, Integer.MAX_VALUE, LINE_WIDTH_DIERTA_VALUE, LINE_WIDTH_DEFAULT_VALUE); lineWidthSpinner = new UISpinnerWithPx(LINE_WIDTH_MIN_VALUE, Integer.MAX_VALUE, LINE_WIDTH_DIERTA_VALUE, LINE_WIDTH_DEFAULT_VALUE);
lineTypeComboBox.addActionListener(new ActionListener() { lineTypeComboBox.addActionListener(new ActionListener() {
@Override @Override

3
designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTrendLinePane.java

@ -7,6 +7,7 @@ import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
@ -61,7 +62,7 @@ public class VanChartTrendLinePane extends BasicPane{
trendLineName = new UITextField(); trendLineName = new UITextField();
trendLineColor = new ColorSelectBox(PREFERRED_WIDTH); trendLineColor = new ColorSelectBox(PREFERRED_WIDTH);
trendLineStyle = new LineTypeComboBox(new LineType[]{LineType.NONE, LineType.SOLID, LineType.DASHED}); trendLineStyle = new LineTypeComboBox(new LineType[]{LineType.NONE, LineType.SOLID, LineType.DASHED});
lineWidthSpinner = new UISpinner(LINE_WIDTH_MIN_VALUE, Integer.MAX_VALUE, LINE_WIDTH_DIERTA_VALUE, LINE_WIDTH_DEFAULT_VALUE); lineWidthSpinner = new UISpinnerWithPx(LINE_WIDTH_MIN_VALUE, Integer.MAX_VALUE, LINE_WIDTH_DIERTA_VALUE, LINE_WIDTH_DEFAULT_VALUE);
trendLineType = new UIComboBox(TYPES); trendLineType = new UIComboBox(TYPES);
prePeriod = new UISpinner(0, Integer.MAX_VALUE, 1, 0); prePeriod = new UISpinner(0, Integer.MAX_VALUE, 1, 0);
afterPeriod = new UISpinner(0, Integer.MAX_VALUE, 1, 0); afterPeriod = new UISpinner(0, Integer.MAX_VALUE, 1, 0);

3
designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPane.java

@ -4,6 +4,7 @@ import com.fr.base.background.ImageBackground;
import com.fr.chart.chartglyph.GeneralInfo; import com.fr.chart.chartglyph.GeneralInfo;
import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
@ -112,7 +113,7 @@ public class VanChartBackgroundPane extends BasicPane {
} }
}); });
transparentLabel = new UILabel(Toolkit.i18nText("Fine-Design_Report_Alpha")); transparentLabel = new UILabel(Toolkit.i18nText("Fine-Design_Report_Alpha"));
transparent = new UINumberDragPane(0, 100); transparent = new UINumberDragPaneWithPercent(0, 100);
} }
protected Component[][] getPaneComponents() { protected Component[][] getPaneComponents() {

23
designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPaneWithOutImageAndShadow.java

@ -1,10 +1,15 @@
package com.fr.van.chart.designer.component.background; package com.fr.van.chart.designer.component.background;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.backgroundpane.ColorBackgroundQuickPane; import com.fr.design.mainframe.backgroundpane.ColorBackgroundQuickPane;
import com.fr.design.mainframe.backgroundpane.NullBackgroundQuickPane; import com.fr.design.mainframe.backgroundpane.NullBackgroundQuickPane;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import javax.swing.BorderFactory;
import javax.swing.JPanel; import javax.swing.JPanel;
import java.awt.Component; import java.awt.Component;
@ -28,10 +33,13 @@ public class VanChartBackgroundPaneWithOutImageAndShadow extends VanChartBackgro
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
double f = TableLayout.FILL; double f = TableLayout.FILL;
double[] columnSize = {p, f}; double[] columnSize = {f, TableLayout4VanChartHelper.SECOND_EDIT_AREA_WIDTH};
double[] rowSize = { p,p,p}; double[] rowSize = {p, p, p};
return TableLayoutHelper.createTableLayoutPane(getPaneComponents(),rowSize,columnSize); JPanel tableLayoutPane = TableLayoutHelper.createGapTableLayoutPane(getPaneComponents(), rowSize, columnSize,
TableLayout4VanChartHelper.COMPONENT_INTERVAL, LayoutConstants.VGAP_MEDIUM);
tableLayoutPane.setBorder(BorderFactory.createEmptyBorder(0, 12, 4, 0));
return tableLayoutPane;
} }
@Override @Override
@ -44,7 +52,7 @@ public class VanChartBackgroundPaneWithOutImageAndShadow extends VanChartBackgro
*/ */
@Override @Override
public String title4PopupWindow() { public String title4PopupWindow() {
return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Default_Name"); return Toolkit.i18nText("Fine-Design_Chart_Default_Name");
} }
}); });
paneList.add(new ColorBackgroundQuickPane()); paneList.add(new ColorBackgroundQuickPane());
@ -54,11 +62,14 @@ public class VanChartBackgroundPaneWithOutImageAndShadow extends VanChartBackgro
@Override @Override
protected Component[][] getPaneComponents() { protected Component[][] getPaneComponents() {
return new Component[][]{ return new Component[][]{
new Component[]{typeComboBox, null}, new Component[]{new UILabel(labelName()), typeComboBox},
new Component[]{centerPane, null}, new Component[]{null, centerPane},
new Component[]{getTransparentLabel(), transparent}, new Component[]{getTransparentLabel(), transparent},
}; };
} }
protected String labelName() {
return Toolkit.i18nText("Fine-Design_Chart_Background");
}
} }

3
designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundWithOutShadowWithRadiusPane.java

@ -3,6 +3,7 @@ package com.fr.van.chart.designer.component.background;
import com.fr.chart.chartglyph.GeneralInfo; import com.fr.chart.chartglyph.GeneralInfo;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import java.awt.Component; import java.awt.Component;
@ -24,7 +25,7 @@ public class VanChartBackgroundWithOutShadowWithRadiusPane extends VanChartBackg
} }
protected Component[][] getPaneComponents() { protected Component[][] getPaneComponents() {
radius = new UISpinner(0, 1000, 1, 0); radius = new UISpinnerWithPx(0, 1000, 1, 0);
return new Component[][]{ return new Component[][]{
new Component[]{null, null}, new Component[]{null, null},
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Report_Fill")), typeComboBox}, new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Report_Fill")), typeComboBox},

3
designer-chart/src/main/java/com/fr/van/chart/designer/component/border/VanChartBorderWithAlphaPane.java

@ -1,6 +1,7 @@
package com.fr.van.chart.designer.component.border; package com.fr.van.chart.designer.component.border;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.utils.gui.UIComponentUtils; import com.fr.design.utils.gui.UIComponentUtils;
import com.fr.design.widget.FRWidgetFactory; import com.fr.design.widget.FRWidgetFactory;
@ -29,7 +30,7 @@ public class VanChartBorderWithAlphaPane extends VanChartBorderPane{
@Override @Override
protected void initComponents() { protected void initComponents() {
super.initComponents(); super.initComponents();
transparent = new UINumberDragPane(0,100); transparent = new UINumberDragPaneWithPercent(0,100);
} }
protected void initContent() { protected void initContent() {

3
designer-chart/src/main/java/com/fr/van/chart/designer/component/border/VanChartBorderWithRadiusPane.java

@ -4,6 +4,7 @@ import com.fr.chart.base.AttrBorder;
import com.fr.chart.chartglyph.GeneralInfo; import com.fr.chart.chartglyph.GeneralInfo;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.utils.gui.UIComponentUtils; import com.fr.design.utils.gui.UIComponentUtils;
import com.fr.design.widget.FRWidgetFactory; import com.fr.design.widget.FRWidgetFactory;
@ -34,7 +35,7 @@ public class VanChartBorderWithRadiusPane extends VanChartBorderPane {
@Override @Override
protected void initComponents() { protected void initComponents() {
super.initComponents(); super.initComponents();
radius = new UISpinner(0,1000,1,0); radius = new UISpinnerWithPx(0,1000,1,0);
} }
@Override @Override

3
designer-chart/src/main/java/com/fr/van/chart/designer/component/border/VanChartBorderWithShapePane.java

@ -7,6 +7,7 @@ import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.icombobox.LineComboBox; import com.fr.design.gui.icombobox.LineComboBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.gui.xcombox.MarkerComboBox; import com.fr.design.gui.xcombox.MarkerComboBox;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
@ -58,7 +59,7 @@ public class VanChartBorderWithShapePane extends BasicPane {
}); });
lineColorBox = new ColorSelectBox(100); lineColorBox = new ColorSelectBox(100);
borderShape = new MarkerComboBox(MarkerFactory.getLabelShapeMarkers()); borderShape = new MarkerComboBox(MarkerFactory.getLabelShapeMarkers());
borderRadius = new UISpinner(0, 1000, 1, 0); borderRadius = new UISpinnerWithPx(0, 1000, 1, 0);
} }
private void createBorderPane() { private void createBorderPane() {

3
designer-chart/src/main/java/com/fr/van/chart/designer/component/marker/VanChartCommonMarkerPane.java

@ -4,6 +4,7 @@ import com.fr.chart.chartglyph.Marker;
import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.gui.xcombox.MarkerComboBox; import com.fr.design.gui.xcombox.MarkerComboBox;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
@ -89,7 +90,7 @@ public class VanChartCommonMarkerPane extends BasicBeanPane<VanChartAttrMarker>
}; };
} }
}; };
radius = new UISpinner(0, 100, 0.5, 0); radius = new UISpinnerWithPx(0, 100, 0.5, 0);
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;

11
designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartPlotLegendPane.java

@ -4,11 +4,12 @@ import com.fr.base.BaseUtils;
import com.fr.chart.chartattr.Plot; import com.fr.chart.chartattr.Plot;
import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.frpane.UIBubbleFloatPane; import com.fr.design.gui.frpane.UIBubbleFloatPane;
import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ibutton.UIToggleButton; import com.fr.design.gui.ibutton.UIToggleButton;
import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
@ -65,7 +66,7 @@ public class VanChartPlotLegendPane extends BasicPane {
//区域显示策略 恢复用注释。下面4行删除。 //区域显示策略 恢复用注释。下面4行删除。
private UIButtonGroup<Integer> customSize; private UIButtonGroup<Integer> customSize;
private UISpinner maxProportion; private UINumberDragPane maxProportion;
private JPanel maxProportionPane; private JPanel maxProportionPane;
//区域显示策略 恢复用注释。取消注释。 //区域显示策略 恢复用注释。取消注释。
//private LimitPane limitPane; //private LimitPane limitPane;
@ -294,7 +295,7 @@ public class VanChartPlotLegendPane extends BasicPane {
private JPanel createDisplayStrategy() { private JPanel createDisplayStrategy() {
//区域显示策略 恢复用注释。开始删除。 //区域显示策略 恢复用注释。开始删除。
maxProportion = new UISpinner(0, 100, 1, 30); maxProportion = new UINumberDragPaneWithPercent(0, 100, 1);
customSize = new UIButtonGroup<>(new String[]{Toolkit.i18nText("Fine-Design_Chart_Auto"), Toolkit.i18nText("Fine-Design_Chart_Custom")}); customSize = new UIButtonGroup<>(new String[]{Toolkit.i18nText("Fine-Design_Chart_Auto"), Toolkit.i18nText("Fine-Design_Chart_Custom")});
JPanel limitSizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Area_Size"), customSize); JPanel limitSizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Area_Size"), customSize);
@ -402,7 +403,7 @@ public class VanChartPlotLegendPane extends BasicPane {
legend.setLayout(layoutButton.getSelectedItem()); legend.setLayout(layoutButton.getSelectedItem());
//区域显示策略 恢复用注释。下面2行删除。 //区域显示策略 恢复用注释。下面2行删除。
legend.setCustomSize(customSize.getSelectedIndex() == 1); legend.setCustomSize(customSize.getSelectedIndex() == 1);
legend.setMaxHeight(maxProportion.getValue()); legend.setMaxHeight(maxProportion.updateBean());
//区域显示策略 恢复用注释。取消注释。 //区域显示策略 恢复用注释。取消注释。
//legend.setLimitAttribute(limitPane.updateBean()); //legend.setLimitAttribute(limitPane.updateBean());
legend.setFloatPercentX(customFloatPositionPane.getFloatPosition_x()); legend.setFloatPercentX(customFloatPositionPane.getFloatPosition_x());
@ -427,7 +428,7 @@ public class VanChartPlotLegendPane extends BasicPane {
layoutButton.setSelectedItem(legend.getLayout()); layoutButton.setSelectedItem(legend.getLayout());
//区域显示策略 恢复用注释。下面2行删除。 //区域显示策略 恢复用注释。下面2行删除。
customSize.setSelectedIndex(legend.isCustomSize() ? 1 : 0); customSize.setSelectedIndex(legend.isCustomSize() ? 1 : 0);
maxProportion.setValue(legend.getMaxHeight()); maxProportion.populateBean(legend.getMaxHeight());
//区域显示策略 恢复用注释。取消注释。 //区域显示策略 恢复用注释。取消注释。
//limitPane.populateBean(legend.getLimitAttribute()); //limitPane.populateBean(legend.getLimitAttribute());
if (highlightButton != null) { if (highlightButton != null) {

11
designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartTitlePane.java

@ -7,11 +7,12 @@ import com.fr.chart.base.TextAttr;
import com.fr.chartx.config.info.constant.ConfigType; import com.fr.chartx.config.info.constant.ConfigType;
import com.fr.design.formula.TinyFormulaPane; import com.fr.design.formula.TinyFormulaPane;
import com.fr.design.gui.frpane.UIBubbleFloatPane; import com.fr.design.gui.frpane.UIBubbleFloatPane;
import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ibutton.UIToggleButton; import com.fr.design.gui.ibutton.UIToggleButton;
import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.chart.PaneTitleConstants; import com.fr.design.mainframe.chart.PaneTitleConstants;
@ -64,7 +65,7 @@ public class VanChartTitlePane extends AbstractVanChartScrollPane<VanChart> {
//区域显示策略 恢复用注释。下面3行删除。 //区域显示策略 恢复用注释。下面3行删除。
private UIButtonGroup<Integer> limitSize; private UIButtonGroup<Integer> limitSize;
private UISpinner maxProportion; private UINumberDragPane maxProportion;
private JPanel maxProportionPane; private JPanel maxProportionPane;
//区域显示策略 恢复用注释。取消注释。 //区域显示策略 恢复用注释。取消注释。
//private LimitPane limitPane; //private LimitPane limitPane;
@ -183,7 +184,7 @@ public class VanChartTitlePane extends AbstractVanChartScrollPane<VanChart> {
private JPanel createDisplayStrategy() { private JPanel createDisplayStrategy() {
//区域显示策略 恢复用注释。开始删除。 //区域显示策略 恢复用注释。开始删除。
maxProportion = new UISpinner(0, 100, 1, 30); maxProportion = new UINumberDragPaneWithPercent(0, 100, 1);
limitSize = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Limit"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Not_Limit")}); limitSize = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Limit"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Not_Limit")});
JPanel limitSizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Area_Size"), limitSize); JPanel limitSizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Area_Size"), limitSize);
@ -320,7 +321,7 @@ public class VanChartTitlePane extends AbstractVanChartScrollPane<VanChart> {
customFloatPositionPane.setFloatPosition_y(title.getFloatPercentY()); customFloatPositionPane.setFloatPosition_y(title.getFloatPercentY());
//区域显示策略 恢复用注释。下面2行删除。 //区域显示策略 恢复用注释。下面2行删除。
limitSize.setSelectedIndex(title.isLimitSize() ? 0 : 1); limitSize.setSelectedIndex(title.isLimitSize() ? 0 : 1);
maxProportion.setValue(title.getMaxHeight()); maxProportion.populateBean(title.getMaxHeight());
//区域显示策略 恢复用注释。取消注释。 //区域显示策略 恢复用注释。取消注释。
//limitPane.populateBean(title.getLimitAttribute()); //limitPane.populateBean(title.getLimitAttribute());
@ -357,7 +358,7 @@ public class VanChartTitlePane extends AbstractVanChartScrollPane<VanChart> {
title.setFloating(customFloatPositionButton.isSelected()); title.setFloating(customFloatPositionButton.isSelected());
//区域显示策略 恢复用注释。下面2行删除。 //区域显示策略 恢复用注释。下面2行删除。
title.setLimitSize(limitSize.getSelectedIndex() == 0); title.setLimitSize(limitSize.getSelectedIndex() == 0);
title.setMaxHeight(maxProportion.getValue()); title.setMaxHeight(maxProportion.updateBean());
//区域显示策略 恢复用注释。取消注释。 //区域显示策略 恢复用注释。取消注释。
//title.setLimitAttribute(limitPane.updateBean()); //title.setLimitAttribute(limitPane.updateBean());
title.setFloatPercentX(customFloatPositionPane.getFloatPosition_x()); title.setFloatPercentX(customFloatPositionPane.getFloatPosition_x());

10
designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java

@ -8,11 +8,11 @@ import com.fr.chart.chartattr.Title;
import com.fr.design.beans.FurtherBasicBeanPane; import com.fr.design.beans.FurtherBasicBeanPane;
import com.fr.design.formula.TinyFormulaPane; import com.fr.design.formula.TinyFormulaPane;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ibutton.UIToggleButton; import com.fr.design.gui.ibutton.UIToggleButton;
import com.fr.design.gui.icombobox.LineComboBox; import com.fr.design.gui.icombobox.LineComboBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.gui.style.FormatPane; import com.fr.design.gui.style.FormatPane;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
@ -97,7 +97,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
//区域显示策略 恢复用注释。下面3行删除。 //区域显示策略 恢复用注释。下面3行删除。
protected UIButtonGroup<Integer> axisLimitSize; protected UIButtonGroup<Integer> axisLimitSize;
protected UISpinner maxProportion; protected UINumberDragPane maxProportion;
protected JPanel maxProportionPane; protected JPanel maxProportionPane;
//区域显示策略 恢复用注释。取消注释。 //区域显示策略 恢复用注释。取消注释。
//private LimitPane limitPane; //private LimitPane limitPane;
@ -465,7 +465,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
protected JPanel createDisplayStrategy() { protected JPanel createDisplayStrategy() {
//区域显示策略 恢复用注释。删除到return,即除了注释的代码都删除。 //区域显示策略 恢复用注释。删除到return,即除了注释的代码都删除。
maxProportion = new UISpinner(0, 100, 1, 30); maxProportion = new UINumberDragPaneWithPercent(0, 100, 1);
axisLimitSize = new UIButtonGroup<Integer>(new String[]{Toolkit.i18nText("Fine-Design_Chart_Limit"), Toolkit.i18nText("Fine-Design_Chart_Not_Limit")}); axisLimitSize = new UIButtonGroup<Integer>(new String[]{Toolkit.i18nText("Fine-Design_Chart_Limit"), Toolkit.i18nText("Fine-Design_Chart_Not_Limit")});
JPanel limitSizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Area_Size"), axisLimitSize); JPanel limitSizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Area_Size"), axisLimitSize);
@ -767,7 +767,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
axisLimitSize.setSelectedIndex(axis.isLimitSize() ? 0 : 1); axisLimitSize.setSelectedIndex(axis.isLimitSize() ? 0 : 1);
} }
if (maxProportion != null) { if (maxProportion != null) {
maxProportion.setValue(axis.getMaxHeight()); maxProportion.populateBean(axis.getMaxHeight());
} }
//区域显示策略 恢复用注释。取消注释。 //区域显示策略 恢复用注释。取消注释。
@ -909,7 +909,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
axis.setLimitSize(axisLimitSize.getSelectedIndex() == 0); axis.setLimitSize(axisLimitSize.getSelectedIndex() == 0);
} }
if (maxProportion != null) { if (maxProportion != null) {
axis.setMaxHeight(maxProportion.getValue()); axis.setMaxHeight(maxProportion.updateBean());
} }
//区域显示策略 恢复用注释。取消注释。 //区域显示策略 恢复用注释。取消注释。
// if (limitPane != null) { // if (limitPane != null) {

3
designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAlertValuePane.java

@ -10,6 +10,7 @@ import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.gui.style.FRFontPane; import com.fr.design.gui.style.FRFontPane;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
@ -90,7 +91,7 @@ public class VanChartAlertValuePane extends BasicBeanPane<VanChartAlertValue> {
alertValue.setPreferredSize(new Dimension(VALUE_WD, HT)); alertValue.setPreferredSize(new Dimension(VALUE_WD, HT));
alertLineStyle = new LineTypeComboBox(new LineType[]{LineType.SOLID, LineType.DASHED}); alertLineStyle = new LineTypeComboBox(new LineType[]{LineType.SOLID, LineType.DASHED});
lineWidthSpinner = new UISpinner(LINE_WIDTH_MIN_VALUE, Integer.MAX_VALUE, LINE_WIDTH_DIERTA_VALUE, LINE_WIDTH_DEFAULT_VALUE); lineWidthSpinner = new UISpinnerWithPx(LINE_WIDTH_MIN_VALUE, Integer.MAX_VALUE, LINE_WIDTH_DIERTA_VALUE, LINE_WIDTH_DEFAULT_VALUE);
alertLineColor = new ColorSelectBox(PREFERRED_WIDTH); alertLineColor = new ColorSelectBox(PREFERRED_WIDTH);
alertTextPosition = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Axis_Top"), Toolkit.i18nText("Fine-Design_Chart_Axis_Bottom")}); alertTextPosition = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Axis_Top"), Toolkit.i18nText("Fine-Design_Chart_Axis_Bottom")});
alertText = new TinyFormulaPane(); alertText = new TinyFormulaPane();

3
designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartCustomIntervalBackgroundPane.java

@ -5,6 +5,7 @@ import com.fr.base.Utils;
import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.BasicBeanPane;
import com.fr.design.formula.TinyFormulaPane; import com.fr.design.formula.TinyFormulaPane;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
@ -52,7 +53,7 @@ public class VanChartCustomIntervalBackgroundPane extends BasicBeanPane<VanChart
bottomValue.setPreferredSize(new Dimension(124,20)); bottomValue.setPreferredSize(new Dimension(124,20));
topValue.setPreferredSize(new Dimension(124,20)); topValue.setPreferredSize(new Dimension(124,20));
color = new ColorSelectBox(100); color = new ColorSelectBox(100);
transparent = new UINumberDragPane(0,100); transparent = new UINumberDragPaneWithPercent(0,100);
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
double[] columnSize = {p,p}; double[] columnSize = {p,p};
double[] rowSize = {p,p,p}; double[] rowSize = {p,p,p};

3
designer-chart/src/main/java/com/fr/van/chart/designer/style/series/VanChartAbstractPlotSeriesPane.java

@ -11,6 +11,7 @@ import com.fr.chart.chartattr.Plot;
import com.fr.chart.chartglyph.ConditionAttr; import com.fr.chart.chartglyph.ConditionAttr;
import com.fr.design.constants.LayoutConstants; import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
@ -278,7 +279,7 @@ public abstract class VanChartAbstractPlotSeriesPane extends AbstractPlotSeriesP
//不透明度 //不透明度
protected JPanel createAlphaPane() { protected JPanel createAlphaPane() {
transparent = new UINumberDragPane(0, 100); transparent = new UINumberDragPaneWithPercent(0, 100);
return TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Report_Alpha"), transparent); return TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Report_Alpha"), transparent);
} }

10
designer-chart/src/main/java/com/fr/van/chart/drillmap/designer/other/VanChartDrillMapInteractivePane.java

@ -84,7 +84,11 @@ public class VanChartDrillMapInteractivePane extends VanChartInteractivePaneWith
};*/ };*/
backgroundPane = new VanChartBackgroundPaneWithOutImageAndShadow(); backgroundPane = new VanChartBackgroundPaneWithOutImageAndShadow();
selectBackgroundPane = new VanChartBackgroundPaneWithOutImageAndShadow(); selectBackgroundPane = new VanChartBackgroundPaneWithOutImageAndShadow() {
protected String labelName() {
return Toolkit.i18nText("Fine-Design_Chart_Select_Color");
}
};
catalogSuperLink = new VanChartCatalogHyperLinkPane(); catalogSuperLink = new VanChartCatalogHyperLinkPane();
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
@ -94,8 +98,8 @@ public class VanChartDrillMapInteractivePane extends VanChartInteractivePaneWith
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{null}, new Component[]{null},
new Component[]{createTitlePane(Toolkit.i18nText("Fine-Design_Chart_Character"), textAttrPane)}, new Component[]{createTitlePane(Toolkit.i18nText("Fine-Design_Chart_Character"), textAttrPane)},
new Component[]{createTitlePane(Toolkit.i18nText("Fine-Design_Chart_Background"), backgroundPane)}, new Component[]{backgroundPane},
new Component[]{createTitlePane(Toolkit.i18nText("Fine-Design_Chart_Select_Color"), selectBackgroundPane)}, new Component[]{selectBackgroundPane},
new Component[]{catalogSuperLink} new Component[]{catalogSuperLink}
}; };
drillPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); drillPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);

3
designer-chart/src/main/java/com/fr/van/chart/gantt/designer/style/axis/GanttAxisStylePane.java

@ -2,6 +2,7 @@ package com.fr.van.chart.gantt.designer.style.axis;
import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
@ -55,7 +56,7 @@ public class GanttAxisStylePane extends BasicBeanPane<GanttAxisStyleAttr> {
protected void initComponents() { protected void initComponents() {
textAttrPane = new ChartTextAttrPane(); textAttrPane = new ChartTextAttrPane();
colorSelectBox4button = new ColorSelectBoxWithOutTransparent(100); colorSelectBox4button = new ColorSelectBoxWithOutTransparent(100);
transparent = new UINumberDragPane(0, 100); transparent = new UINumberDragPaneWithPercent(0, 100);
} }
protected Component[][] getUsedComponents() { protected Component[][] getUsedComponents() {

6
designer-chart/src/main/java/com/fr/van/chart/gauge/VanChartGaugeSeriesPane.java

@ -3,9 +3,11 @@ package com.fr.van.chart.gauge;
import com.fr.chart.chartattr.Plot; import com.fr.chart.chartattr.Plot;
import com.fr.chart.chartglyph.ConditionAttr; import com.fr.chart.chartglyph.ConditionAttr;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
@ -257,12 +259,12 @@ public class VanChartGaugeSeriesPane extends VanChartAbstractPlotSeriesPane {
} }
private Component[] getThermometerWidth() { private Component[] getThermometerWidth() {
thermometerWidth = new UISpinner(0, Double.MAX_VALUE, 0.1, 10); thermometerWidth = new UISpinnerWithPx(0, Double.MAX_VALUE, 0.1, 10);
return new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Thermometer_Width")),thermometerWidth}; return new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Thermometer_Width")),thermometerWidth};
} }
private Component[] getChutePercent() { private Component[] getChutePercent() {
chutePercent = new UINumberDragPane(0, 100, 1); chutePercent = new UINumberDragPaneWithPercent(0, 100, 1);
return new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Chute_Percent")),chutePercent}; return new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Chute_Percent")),chutePercent};
} }

20
designer-chart/src/main/java/com/fr/van/chart/heatmap/designer/style/VanChartHeatMapSeriesPane.java

@ -3,9 +3,11 @@ package com.fr.van.chart.heatmap.designer.style;
import com.fr.chart.chartattr.Plot; import com.fr.chart.chartattr.Plot;
import com.fr.chart.chartglyph.ConditionAttr; import com.fr.chart.chartglyph.ConditionAttr;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
@ -31,7 +33,7 @@ import java.awt.Component;
public class VanChartHeatMapSeriesPane extends VanChartMapSeriesPane { public class VanChartHeatMapSeriesPane extends VanChartMapSeriesPane {
private UISpinner radius; private UISpinner radius;
private UISpinner blur; private UINumberDragPane blur;
private UINumberDragPane minOpacity; private UINumberDragPane minOpacity;
private UINumberDragPane maxOpacity; private UINumberDragPane maxOpacity;
@ -119,8 +121,8 @@ public class VanChartHeatMapSeriesPane extends VanChartMapSeriesPane {
} }
private JPanel createHeatPointStylePane() { private JPanel createHeatPointStylePane() {
radius = new UISpinner(0, Double.MAX_VALUE, 1, 30); radius = new UISpinnerWithPx(0, Double.MAX_VALUE, 1, 30);
blur = new UISpinner(0, 100, 1, 30); blur = new UINumberDragPaneWithPercent(0, 100, 1);
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
double f = TableLayout.FILL; double f = TableLayout.FILL;
@ -130,8 +132,8 @@ public class VanChartHeatMapSeriesPane extends VanChartMapSeriesPane {
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{null, null, null}, new Component[]{null, null, null},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Heat_Map_Radius")), radius, null}, new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Heat_Map_Radius")), radius, null},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Heat_Map_Blur")), blur, new UILabel("%")} new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Heat_Map_Blur")), blur, null}
}; };
JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, col); JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, col);
@ -141,8 +143,8 @@ public class VanChartHeatMapSeriesPane extends VanChartMapSeriesPane {
} }
private JPanel createOpacityPane() { private JPanel createOpacityPane() {
maxOpacity = new UINumberDragPane(0, 100); maxOpacity = new UINumberDragPaneWithPercent(0, 100);
minOpacity = new UINumberDragPane(0, 100); minOpacity = new UINumberDragPaneWithPercent(0, 100);
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
double f = TableLayout.FILL; double f = TableLayout.FILL;
@ -169,7 +171,7 @@ public class VanChartHeatMapSeriesPane extends VanChartMapSeriesPane {
if (plot instanceof VanChartHeatMapPlot) { if (plot instanceof VanChartHeatMapPlot) {
VanChartHeatMapPlot heatMapPlot = (VanChartHeatMapPlot) plot; VanChartHeatMapPlot heatMapPlot = (VanChartHeatMapPlot) plot;
radius.setValue(heatMapPlot.getRadius()); radius.setValue(heatMapPlot.getRadius());
blur.setValue(heatMapPlot.getBlur()); blur.populateBean(heatMapPlot.getBlur());
maxOpacity.populateBean(heatMapPlot.getMaxOpacity()); maxOpacity.populateBean(heatMapPlot.getMaxOpacity());
minOpacity.populateBean(heatMapPlot.getMinOpacity()); minOpacity.populateBean(heatMapPlot.getMinOpacity());
getVanChartValueColorPane().populateBean((VanChartRangeLegend) plot.getLegend()); getVanChartValueColorPane().populateBean((VanChartRangeLegend) plot.getLegend());
@ -187,7 +189,7 @@ public class VanChartHeatMapSeriesPane extends VanChartMapSeriesPane {
if (plot instanceof VanChartHeatMapPlot) { if (plot instanceof VanChartHeatMapPlot) {
VanChartHeatMapPlot heatMapPlot = (VanChartHeatMapPlot) plot; VanChartHeatMapPlot heatMapPlot = (VanChartHeatMapPlot) plot;
heatMapPlot.setRadius(radius.getValue()); heatMapPlot.setRadius(radius.getValue());
heatMapPlot.setBlur(blur.getValue()); heatMapPlot.setBlur(blur.updateBean());
heatMapPlot.setMaxOpacity(maxOpacity.updateBean()); heatMapPlot.setMaxOpacity(maxOpacity.updateBean());
heatMapPlot.setMinOpacity(minOpacity.updateBean()); heatMapPlot.setMinOpacity(minOpacity.updateBean());
getVanChartValueColorPane().updateBean((VanChartRangeLegend) plot.getLegend()); getVanChartValueColorPane().updateBean((VanChartRangeLegend) plot.getLegend());

3
designer-chart/src/main/java/com/fr/van/chart/map/VanChartMapSeriesPane.java

@ -5,6 +5,7 @@ import com.fr.chart.chartattr.Plot;
import com.fr.chart.chartglyph.ConditionAttr; import com.fr.chart.chartglyph.ConditionAttr;
import com.fr.design.constants.LayoutConstants; import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
@ -321,7 +322,7 @@ public class VanChartMapSeriesPane extends VanChartColorValueSeriesPane {
//不透明度 //不透明度
protected JPanel createAlphaPane() { protected JPanel createAlphaPane() {
setTransparent(new UINumberDragPane(0, 100)); setTransparent(new UINumberDragPaneWithPercent(0, 100));
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
double f = TableLayout.FILL; double f = TableLayout.FILL;
double[] columnSize = {f, TableLayout4VanChartHelper.EDIT_AREA_WIDTH}; double[] columnSize = {f, TableLayout4VanChartHelper.EDIT_AREA_WIDTH};

3
designer-chart/src/main/java/com/fr/van/chart/map/designer/style/series/VanChartMapAnchorMarkerPane.java

@ -3,6 +3,7 @@ package com.fr.van.chart.map.designer.style.series;
import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
@ -20,7 +21,7 @@ public class VanChartMapAnchorMarkerPane extends BasicBeanPane<VanChartAttrMarke
private UISpinner anchorSize; private UISpinner anchorSize;
public VanChartMapAnchorMarkerPane() { public VanChartMapAnchorMarkerPane() {
anchorSize = new UISpinner(0, Double.MAX_VALUE, 0.5, 28); anchorSize = new UISpinnerWithPx(0, Double.MAX_VALUE, 0.5, 28);
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Height")), anchorSize} new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Height")), anchorSize}

6
designer-chart/src/main/java/com/fr/van/chart/map/line/VanChartCurvePane.java

@ -2,8 +2,10 @@ package com.fr.van.chart.map.line;
import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
@ -29,9 +31,9 @@ public class VanChartCurvePane extends BasicBeanPane<AttrCurve>{
} }
private void initComponents(){ private void initComponents(){
lineWidth = new UISpinner(0, MAX_WIDTH, STEP, 0.5); lineWidth = new UISpinnerWithPx(0, MAX_WIDTH, STEP, 0.5);
bending = new UINumberDragPane(0, 100); bending = new UINumberDragPane(0, 100);
lineAlphaPane = new UINumberDragPane(0, 100); lineAlphaPane = new UINumberDragPaneWithPercent(0, 100);
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
double f = TableLayout.FILL; double f = TableLayout.FILL;

7
designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieSeriesPane.java

@ -1,6 +1,7 @@
package com.fr.van.chart.multilayer.style; package com.fr.van.chart.multilayer.style;
import com.fr.chart.chartattr.Plot; import com.fr.chart.chartattr.Plot;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
@ -46,7 +47,7 @@ public class VanChartMultiPieSeriesPane extends VanChartPieSeriesPane {
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Gradual_Deep")}); com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Gradual_Deep")});
startAngle = new UISpinner(MIN_ANGLE, MAX_ANGLE, 1, 0); startAngle = new UISpinner(MIN_ANGLE, MAX_ANGLE, 1, 0);
endAngle = new UISpinner(MIN_ANGLE, MAX_ANGLE, 1, 0); endAngle = new UISpinner(MIN_ANGLE, MAX_ANGLE, 1, 0);
innerRadius = new UISpinner(0, 100, 1, 0); innerRadius = new UINumberDragPaneWithPercent(0, 100, 1);
supportRotation = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Open"), supportRotation = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Open"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Close")}); com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Close")});
supportDrill = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Open"), supportDrill = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Open"),
@ -72,7 +73,7 @@ public class VanChartMultiPieSeriesPane extends VanChartPieSeriesPane {
gradualLevel.setSelectedIndex(multiPiePlot.isLight() ? 0 : 1); gradualLevel.setSelectedIndex(multiPiePlot.isLight() ? 0 : 1);
startAngle.setValue(multiPiePlot.getStartAngle()); startAngle.setValue(multiPiePlot.getStartAngle());
endAngle.setValue(multiPiePlot.getEndAngle()); endAngle.setValue(multiPiePlot.getEndAngle());
innerRadius.setValue(multiPiePlot.getInnerRadiusPercent()); innerRadius.populateBean(multiPiePlot.getInnerRadiusPercent());
supportDrill.setSelectedIndex(multiPiePlot.isSupportDrill() ? 0 : 1); supportDrill.setSelectedIndex(multiPiePlot.isSupportDrill() ? 0 : 1);
supportRotation.setSelectedIndex(multiPiePlot.isSupportRotation() ? 0 : 1); supportRotation.setSelectedIndex(multiPiePlot.isSupportRotation() ? 0 : 1);
} }
@ -85,7 +86,7 @@ public class VanChartMultiPieSeriesPane extends VanChartPieSeriesPane {
multiPiePlot.setLight(gradualLevel.getSelectedIndex() == 0); multiPiePlot.setLight(gradualLevel.getSelectedIndex() == 0);
multiPiePlot.setStartAngle(startAngle.getValue()); multiPiePlot.setStartAngle(startAngle.getValue());
multiPiePlot.setEndAngle(endAngle.getValue()); multiPiePlot.setEndAngle(endAngle.getValue());
multiPiePlot.setInnerRadiusPercent(innerRadius.getValue()); multiPiePlot.setInnerRadiusPercent(innerRadius.updateBean());
multiPiePlot.setSupportDrill(supportDrill.getSelectedIndex() == 0); multiPiePlot.setSupportDrill(supportDrill.getSelectedIndex() == 0);
multiPiePlot.setSupportRotation(supportRotation.getSelectedIndex() == 0); multiPiePlot.setSupportRotation(supportRotation.getSelectedIndex() == 0);
} }

11
designer-chart/src/main/java/com/fr/van/chart/pie/RadiusCardLayoutPane.java

@ -4,9 +4,10 @@ import com.fr.chart.chartattr.Plot;
import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
import com.fr.plugin.chart.attr.radius.VanChartRadiusPlot; import com.fr.plugin.chart.attr.radius.VanChartRadiusPlot;
import com.fr.plugin.chart.base.VanChartRadius; import com.fr.plugin.chart.base.VanChartRadius;
import com.fr.plugin.chart.type.RadiusType; import com.fr.plugin.chart.type.RadiusType;
@ -14,11 +15,11 @@ import com.fr.van.chart.layout.VanChartCardLayoutPane;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.JPanel; import javax.swing.JPanel;
import java.util.HashMap;
import java.util.Map;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Component; import java.awt.Component;
import java.awt.Dimension; import java.awt.Dimension;
import java.util.HashMap;
import java.util.Map;
/** /**
* Created by hufan on 2016/10/25. * Created by hufan on 2016/10/25.
@ -40,8 +41,8 @@ public class RadiusCardLayoutPane extends BasicBeanPane<Plot> {
Map<String, Component> paneList = new HashMap<String, Component>(); Map<String, Component> paneList = new HashMap<String, Component>();
radiusType = new UIButtonGroup(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Auto"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Fixed")}); radiusType = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Auto"), Toolkit.i18nText("Fine-Design_Chart_Fixed")});
radius = new UISpinner(MIN_RADIUS, MAX_RADIUS, 1, 100); radius = new UISpinnerWithPx(100);
radiusContent = new JPanel(new BorderLayout()); radiusContent = new JPanel(new BorderLayout());
radiusContent.add(radius, BorderLayout.CENTER); radiusContent.add(radius, BorderLayout.CENTER);

10
designer-chart/src/main/java/com/fr/van/chart/pie/VanChartPieSeriesPane.java

@ -2,6 +2,8 @@ package com.fr.van.chart.pie;
import com.fr.chart.chartattr.Plot; import com.fr.chart.chartattr.Plot;
import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
@ -27,7 +29,7 @@ public class VanChartPieSeriesPane extends VanChartAbstractPlotSeriesPane {
protected UISpinner startAngle; protected UISpinner startAngle;
protected UISpinner endAngle; protected UISpinner endAngle;
protected UISpinner innerRadius; protected UINumberDragPane innerRadius;
private UIButtonGroup<Boolean> supportRotation; private UIButtonGroup<Boolean> supportRotation;
public VanChartPieSeriesPane(ChartStylePane parent, Plot plot) { public VanChartPieSeriesPane(ChartStylePane parent, Plot plot) {
@ -52,7 +54,7 @@ public class VanChartPieSeriesPane extends VanChartAbstractPlotSeriesPane {
protected JPanel createSeriesStylePane(double[] row, double[] col) { protected JPanel createSeriesStylePane(double[] row, double[] col) {
startAngle = new UISpinner(MIN_ANGLE, MAX_ANGLE, 1, 0); startAngle = new UISpinner(MIN_ANGLE, MAX_ANGLE, 1, 0);
endAngle = new UISpinner(MIN_ANGLE, MAX_ANGLE, 1, 0); endAngle = new UISpinner(MIN_ANGLE, MAX_ANGLE, 1, 0);
innerRadius = new UISpinner(0, 100, 1, 0); innerRadius = new UINumberDragPaneWithPercent(0, 100, 1);
supportRotation = new UIButtonGroup<Boolean>(new String[]{Toolkit.i18nText("Fine-Design_Chart_On"), Toolkit.i18nText("Fine-Design_Chart_Off")}, new Boolean[]{true, false}); supportRotation = new UIButtonGroup<Boolean>(new String[]{Toolkit.i18nText("Fine-Design_Chart_On"), Toolkit.i18nText("Fine-Design_Chart_Off")}, new Boolean[]{true, false});
@ -86,7 +88,7 @@ public class VanChartPieSeriesPane extends VanChartAbstractPlotSeriesPane {
PiePlot4VanChart piePlot4VanChart = (PiePlot4VanChart) plot; PiePlot4VanChart piePlot4VanChart = (PiePlot4VanChart) plot;
startAngle.setValue(piePlot4VanChart.getStartAngle()); startAngle.setValue(piePlot4VanChart.getStartAngle());
endAngle.setValue(piePlot4VanChart.getEndAngle()); endAngle.setValue(piePlot4VanChart.getEndAngle());
innerRadius.setValue(piePlot4VanChart.getInnerRadiusPercent()); innerRadius.populateBean(piePlot4VanChart.getInnerRadiusPercent());
supportRotation.setSelectedIndex(piePlot4VanChart.isSupportRotation() == true ?0:1); supportRotation.setSelectedIndex(piePlot4VanChart.isSupportRotation() == true ?0:1);
} }
} }
@ -107,7 +109,7 @@ public class VanChartPieSeriesPane extends VanChartAbstractPlotSeriesPane {
PiePlot4VanChart piePlot4VanChart = (PiePlot4VanChart)plot; PiePlot4VanChart piePlot4VanChart = (PiePlot4VanChart)plot;
piePlot4VanChart.setStartAngle(startAngle.getValue()); piePlot4VanChart.setStartAngle(startAngle.getValue());
piePlot4VanChart.setEndAngle(endAngle.getValue()); piePlot4VanChart.setEndAngle(endAngle.getValue());
piePlot4VanChart.setInnerRadiusPercent(innerRadius.getValue()); piePlot4VanChart.setInnerRadiusPercent(innerRadius.updateBean());
piePlot4VanChart.setSupportRotation(supportRotation.getSelectedItem()); piePlot4VanChart.setSupportRotation(supportRotation.getSelectedItem());
} }
} }

46
designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/StructureNodeStylePane.java

@ -3,13 +3,15 @@ package com.fr.van.chart.structure.desinger.style;
import com.fr.base.background.ImageBackground; import com.fr.base.background.ImageBackground;
import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.backgroundpane.ImageBackgroundQuickPane; import com.fr.design.mainframe.backgroundpane.ImageBackgroundQuickPane;
import com.fr.plugin.chart.base.AttrNode; import com.fr.plugin.chart.base.AttrNode;
import com.fr.van.chart.designer.TableLayout4VanChartHelper; import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.background.VanChartMarkerBackgroundPane; import com.fr.van.chart.designer.component.background.VanChartMarkerBackgroundPane;
@ -42,38 +44,46 @@ public class StructureNodeStylePane extends BasicBeanPane<AttrNode> {
double[] columnSize = {f, e}; double[] columnSize = {f, e};
double[] rowSize = {p, p, p, p, p}; double[] rowSize = {p, p, p, p, p};
nodeRadiusType = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Automatic"), nodeRadiusType = new UIButtonGroup<>(new String[]{Toolkit.i18nText("Fine-Design_Chart_Automatic"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom")}); Toolkit.i18nText("Fine-Design_Chart_Custom")});
nodeRadius = new UISpinner(0,Double.MAX_VALUE,0.5,0); nodeRadius = new UISpinnerWithPx(0, Double.MAX_VALUE, 0.5, 0);
nodeBorderWidth = new UISpinner(0,Double.MAX_VALUE,0.5,0); nodeBorderWidth = new UISpinnerWithPx(0, Double.MAX_VALUE, 0.5, 0);
nodeBorderColor = new VanChartMarkerBackgroundPane(); nodeBorderColor = new VanChartMarkerBackgroundPane() {
nodeOpacity = new UINumberDragPane(0,100); protected Component[][] getPaneComponents() {
return new Component[][]{
new Component[]{null, null},
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Node_Radius")), typeComboBox},
new Component[]{null, centerPane},
};
}
};
nodeOpacity = new UINumberDragPaneWithPercent(0, 100);
JPanel jPanel = new JPanel(new BorderLayout()); JPanel jPanel = new JPanel(new BorderLayout());
jPanel.add(TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Node_Radius"), nodeRadiusType), BorderLayout.NORTH); jPanel.add(TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Node_Radius"), nodeRadiusType), BorderLayout.NORTH);
nodeRadiusPane = TableLayout4VanChartHelper.createGapTableLayoutPane("", nodeRadius); nodeRadiusPane = TableLayout4VanChartHelper.createGapTableLayoutPane("", nodeRadius);
jPanel.add(nodeRadiusPane, BorderLayout.CENTER); jPanel.add(nodeRadiusPane, BorderLayout.CENTER);
Component[][] components1 = new Component[][]{ Component[][] components1 = new Component[][]{
new Component[]{null, null}, new Component[]{null, null},
new Component[]{jPanel, null}, new Component[]{jPanel, null},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Border_Width")), nodeBorderWidth}, new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Border_Width")), nodeBorderWidth},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Style_Border_Color")), nodeBorderColor}, new Component[]{nodeBorderColor, null},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Alpha")), nodeOpacity} new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Report_Alpha")), nodeOpacity}
}; };
JPanel panel1 = TableLayout4VanChartHelper.createGapTableLayoutPane(components1, rowSize, columnSize); JPanel panel1 = TableLayout4VanChartHelper.createGapTableLayoutPane(components1, rowSize, columnSize);
useImage = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_YES"), useImage = new UIButtonGroup<>(new String[]{Toolkit.i18nText("Fine-Design_Chart_YES"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_NO")}); Toolkit.i18nText("Fine-Design_Chart_NO")});
imagePane = new ImageBackgroundQuickPane(false); imagePane = new ImageBackgroundQuickPane(false);
imagePane.setBorder(BorderFactory.createEmptyBorder(0,(int)TableLayout4VanChartHelper.DESCRIPTION_AREA_WIDTH + TableLayout4VanChartHelper.COMPONENT_INTERVAL,0,0)); imagePane.setBorder(BorderFactory.createEmptyBorder(0, (int) TableLayout4VanChartHelper.DESCRIPTION_AREA_WIDTH + TableLayout4VanChartHelper.COMPONENT_INTERVAL, 0, 0));
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Filled_With_Image")),useImage}, new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Filled_With_Image")), useImage},
}; };
JPanel useImagePane = TableLayoutHelper.createTableLayoutPane(components, new double[]{p}, columnSize); JPanel useImagePane = TableLayoutHelper.createTableLayoutPane(components, new double[]{p}, columnSize);
JPanel panel2 = new JPanel(new BorderLayout(0,6)); JPanel panel2 = new JPanel(new BorderLayout(0, 6));
panel2.add(useImagePane, BorderLayout.NORTH); panel2.add(useImagePane, BorderLayout.NORTH);
panel2.add(imagePane, BorderLayout.CENTER); panel2.add(imagePane, BorderLayout.CENTER);
@ -91,7 +101,7 @@ public class StructureNodeStylePane extends BasicBeanPane<AttrNode> {
} }
}); });
this.setLayout(new BorderLayout(0,6)); this.setLayout(new BorderLayout(0, 6));
this.add(panel1, BorderLayout.NORTH); this.add(panel1, BorderLayout.NORTH);
this.add(panel2, BorderLayout.CENTER); this.add(panel2, BorderLayout.CENTER);
} }
@ -112,7 +122,7 @@ public class StructureNodeStylePane extends BasicBeanPane<AttrNode> {
nodeBorderColor.populate(ob.getBorderColor()); nodeBorderColor.populate(ob.getBorderColor());
nodeOpacity.populateBean(ob.getOpacity()); nodeOpacity.populateBean(ob.getOpacity());
useImage.setSelectedIndex(ob.isUseImage() ? 0 : 1); useImage.setSelectedIndex(ob.isUseImage() ? 0 : 1);
if(ob.getImageBackground() != null) { if (ob.getImageBackground() != null) {
imagePane.populateBean(ob.getImageBackground()); imagePane.populateBean(ob.getImageBackground());
} }
checkRadius(); checkRadius();

35
designer-chart/src/main/java/com/fr/van/chart/structure/desinger/style/VanChartStructureSeriesPane.java

@ -3,9 +3,12 @@ package com.fr.van.chart.structure.desinger.style;
import com.fr.chart.chartattr.Plot; import com.fr.chart.chartattr.Plot;
import com.fr.chart.chartglyph.ConditionAttr; import com.fr.chart.chartglyph.ConditionAttr;
import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.chart.gui.ChartStylePane; import com.fr.design.mainframe.chart.gui.ChartStylePane;
@ -43,7 +46,7 @@ public class VanChartStructureSeriesPane extends VanChartAbstractPlotSeriesPane
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
double f = TableLayout.FILL; double f = TableLayout.FILL;
double[] columnSize = {f}; double[] columnSize = {f};
double[] rowSize = {p,p,p}; double[] rowSize = {p, p, p};
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{createLinkPane()}, new Component[]{createLinkPane()},
new Component[]{createNodePane()} new Component[]{createNodePane()}
@ -57,10 +60,10 @@ public class VanChartStructureSeriesPane extends VanChartAbstractPlotSeriesPane
private JPanel createLinkPane() { private JPanel createLinkPane() {
linkColor = new ColorSelectBox(100); linkColor = new ColorSelectBox(100);
linkWidthType = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Automatic"), linkWidthType = new UIButtonGroup<Integer>(new String[]{Toolkit.i18nText("Fine-Design_Chart_Automatic"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom")}); Toolkit.i18nText("Fine-Design_Chart_Custom")});
linkWidth = new UISpinner(0,Double.MAX_VALUE,0.5,0); linkWidth = new UISpinnerWithPx(0, Double.MAX_VALUE, 0.5, 0);
linkOpacity = new UINumberDragPane(0,100); linkOpacity = new UINumberDragPaneWithPercent(0, 100);
linkWidthType.addChangeListener(new ChangeListener() { linkWidthType.addChangeListener(new ChangeListener() {
@Override @Override
@ -73,10 +76,10 @@ public class VanChartStructureSeriesPane extends VanChartAbstractPlotSeriesPane
double f = TableLayout.FILL; double f = TableLayout.FILL;
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH; double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] columnSize = {f, e}; double[] columnSize = {f, e};
double[] rowSize = {p,p,p,p}; double[] rowSize = {p, p, p, p};
JPanel jPanel = new JPanel(new BorderLayout()); JPanel jPanel = new JPanel(new BorderLayout());
jPanel.add(TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Tree_Width")+" ", linkWidthType), BorderLayout.NORTH); jPanel.add(TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Report_Tree_Width") + " ", linkWidthType), BorderLayout.NORTH);
linkWidthPane = TableLayout4VanChartHelper.createGapTableLayoutPane(" ", linkWidth); linkWidthPane = TableLayout4VanChartHelper.createGapTableLayoutPane(" ", linkWidth);
jPanel.add(linkWidthPane, BorderLayout.CENTER); jPanel.add(linkWidthPane, BorderLayout.CENTER);
@ -104,8 +107,8 @@ public class VanChartStructureSeriesPane extends VanChartAbstractPlotSeriesPane
@Override @Override
public void populateBean(Plot plot) { public void populateBean(Plot plot) {
super.populateBean(plot); super.populateBean(plot);
if(plot instanceof VanChartStructurePlot){ if (plot instanceof VanChartStructurePlot) {
VanChartStructurePlot structurePlot = (VanChartStructurePlot)plot; VanChartStructurePlot structurePlot = (VanChartStructurePlot) plot;
linkColor.setSelectObject(structurePlot.getLinkColor()); linkColor.setSelectObject(structurePlot.getLinkColor());
linkWidthType.setSelectedIndex(structurePlot.isAutoLinkWidth() ? 0 : 1); linkWidthType.setSelectedIndex(structurePlot.isAutoLinkWidth() ? 0 : 1);
linkWidth.setValue(structurePlot.getLinkWidth()); linkWidth.setValue(structurePlot.getLinkWidth());
@ -117,8 +120,8 @@ public class VanChartStructureSeriesPane extends VanChartAbstractPlotSeriesPane
@Override @Override
public void updateBean(Plot plot) { public void updateBean(Plot plot) {
super.updateBean(plot); super.updateBean(plot);
if(plot instanceof VanChartStructurePlot){ if (plot instanceof VanChartStructurePlot) {
VanChartStructurePlot structurePlot = (VanChartStructurePlot)plot; VanChartStructurePlot structurePlot = (VanChartStructurePlot) plot;
structurePlot.setLinkColor(linkColor.getSelectObject()); structurePlot.setLinkColor(linkColor.getSelectObject());
structurePlot.setAutoLinkWidth(linkWidthType.getSelectedIndex() == 0); structurePlot.setAutoLinkWidth(linkWidthType.getSelectedIndex() == 0);
structurePlot.setLinkWidth(linkWidth.getValue()); structurePlot.setLinkWidth(linkWidth.getValue());
@ -126,16 +129,16 @@ public class VanChartStructureSeriesPane extends VanChartAbstractPlotSeriesPane
} }
} }
protected void populateCondition(ConditionAttr defaultAttr){ protected void populateCondition(ConditionAttr defaultAttr) {
if(nodeStylePane != null){ if (nodeStylePane != null) {
AttrNode attrNode = defaultAttr.getExisted(AttrNode.class); AttrNode attrNode = defaultAttr.getExisted(AttrNode.class);
nodeStylePane.populateBean(attrNode); nodeStylePane.populateBean(attrNode);
} }
} }
protected void updateCondition(ConditionAttr defaultAttr){ protected void updateCondition(ConditionAttr defaultAttr) {
if(nodeStylePane != null){ if (nodeStylePane != null) {
AttrNode attrNode =defaultAttr.getExisted(AttrNode.class); AttrNode attrNode = defaultAttr.getExisted(AttrNode.class);
if (attrNode != null) { if (attrNode != null) {
defaultAttr.remove(attrNode); defaultAttr.remove(attrNode);
defaultAttr.addDataSeriesCondition(nodeStylePane.updateBean()); defaultAttr.addDataSeriesCondition(nodeStylePane.updateBean());

51
designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/style/VanChartWordCloudSeriesPane.java

@ -4,10 +4,12 @@ import com.fr.base.Utils;
import com.fr.base.background.ImageBackground; import com.fr.base.background.ImageBackground;
import com.fr.base.background.ImageFileBackground; import com.fr.base.background.ImageFileBackground;
import com.fr.chart.chartattr.Plot; import com.fr.chart.chartattr.Plot;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.backgroundpane.ImageBackgroundQuickPane; import com.fr.design.mainframe.backgroundpane.ImageBackgroundQuickPane;
@ -61,7 +63,7 @@ public class VanChartWordCloudSeriesPane extends VanChartColorValueSeriesPane {
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
double f = TableLayout.FILL; double f = TableLayout.FILL;
double[] columnSize = {f}; double[] columnSize = {f};
double[] rowSize = {p,p,p}; double[] rowSize = {p, p, p};
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{createWordCloudStylePane()}, new Component[]{createWordCloudStylePane()},
}; };
@ -71,42 +73,43 @@ public class VanChartWordCloudSeriesPane extends VanChartColorValueSeriesPane {
return contentPane; return contentPane;
} }
private JPanel createWordCloudStylePane(){ private JPanel createWordCloudStylePane() {
double labelSize = LABEL_SIZE; double labelSize = LABEL_SIZE;
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
double f = TableLayout.FILL; double f = TableLayout.FILL;
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH; double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] centerC = {labelSize,f,p,f}; double[] centerC = {labelSize, f, p, f};
double[] centerR = {p}; double[] centerR = {p};
minRotation = new UISpinner(-MAX_ROTATION,MAX_ROTATION,1,0); minRotation = new UISpinner(-MAX_ROTATION, MAX_ROTATION, 1, 0);
maxRotation = new maxRotation = new
UISpinner(-MAX_ROTATION,MAX_ROTATION,1,0); UISpinner(-MAX_ROTATION, MAX_ROTATION, 1, 0);
Component[][] centerComps = new Component[][]{ Component[][] centerComps = new Component[][]{
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Rotation_Angle")), minRotation, new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Rotation_Angle")), minRotation,
new UILabel("-"), maxRotation}, new UILabel("-"), maxRotation},
}; };
JPanel centerPanel = TableLayout4VanChartHelper.createGapTableLayoutPane(centerComps,centerR,centerC); JPanel centerPanel = TableLayout4VanChartHelper.createGapTableLayoutPane(centerComps, centerR, centerC);
double[] northC = {f, e}; double[] northC = {f, e};
double[] northR = {p,p}; double[] northR = {p, p};
fontNameComboBox = new UIComboBox(Utils.getAvailableFontFamilyNames4Report()); fontNameComboBox = new UIComboBox(Utils.getAvailableFontFamilyNames4Report());
defineFontSize = new UIButtonGroup(new String[]{AUTO_FONT_SIZE, CUSTOM_FONT_SIZE}); defineFontSize = new UIButtonGroup(new String[]{AUTO_FONT_SIZE, CUSTOM_FONT_SIZE});
Component[][] northComps = new Component[][]{ Component[][] northComps = new Component[][]{
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Font")), fontNameComboBox}, new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Font")), fontNameComboBox},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom")), defineFontSize } new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom")), defineFontSize}
}; };
JPanel northPanel = TableLayout4VanChartHelper.createGapTableLayoutPane(northComps,northR,northC); JPanel northPanel = TableLayout4VanChartHelper.createGapTableLayoutPane(northComps, northR, northC);
minFontSize = new UISpinner(0,Double.MAX_VALUE,1,10); minFontSize = new UISpinnerWithPx(10);
maxFontSize = new UISpinner(0,Double.MAX_VALUE,1,100); maxFontSize = new UISpinnerWithPx(100);
Component[][] fontComps = new Component[][]{ Component[][] fontComps = new Component[][]{
new Component[]{null, minFontSize, new Component[]{null, minFontSize,
new UILabel("-"), maxFontSize}, new UILabel("-"), maxFontSize},
}; };
fontPanel = TableLayout4VanChartHelper.createGapTableLayoutPane(fontComps,centerR,centerC); fontPanel = TableLayoutHelper.createGapTableLayoutPane(fontComps, centerR, centerC,
6, LayoutConstants.VGAP_LARGE);
double[] columnSize = {f}; double[] columnSize = {f};
double[] rowSize = {p, p, p, p}; double[] rowSize = {p, p, p, p};
@ -132,27 +135,27 @@ public class VanChartWordCloudSeriesPane extends VanChartColorValueSeriesPane {
private JPanel createCloudShapePane() { private JPanel createCloudShapePane() {
cloudShape = new UIComboBox(CloudShapeType.getTypes()); cloudShape = new UIComboBox(CloudShapeType.getTypes());
imageBackgroundQuickPane = new ImageBackgroundQuickPane(false){ imageBackgroundQuickPane = new ImageBackgroundQuickPane(false) {
@Override @Override
public Dimension getPreferredSize() { public Dimension getPreferredSize() {
if(cloudShape.getSelectedItem() == CloudShapeType.DEFAULT){ if (cloudShape.getSelectedItem() == CloudShapeType.DEFAULT) {
return new Dimension(0,0); return new Dimension(0, 0);
} else { } else {
return super.getPreferredSize(); return super.getPreferredSize();
} }
} }
}; };
JPanel panel = new JPanel(new BorderLayout(0,4)); JPanel panel = new JPanel(new BorderLayout(0, 4));
panel.add(cloudShape, BorderLayout.NORTH); panel.add(cloudShape, BorderLayout.NORTH);
panel.add(imageBackgroundQuickPane, BorderLayout.CENTER); panel.add(imageBackgroundQuickPane, BorderLayout.CENTER);
cloudShape.addItemListener(new ItemListener() { cloudShape.addItemListener(new ItemListener() {
@Override @Override
public void itemStateChanged(ItemEvent e) { public void itemStateChanged(ItemEvent e) {
CloudShapeType type = (CloudShapeType)cloudShape.getSelectedItem(); CloudShapeType type = (CloudShapeType) cloudShape.getSelectedItem();
String path = type.getImageUrl(); String path = type.getImageUrl();
if(path != null) { if (path != null) {
ImageFileBackground imageBackground = new ImageFileBackground(IOUtils.readImage(path)); ImageFileBackground imageBackground = new ImageFileBackground(IOUtils.readImage(path));
imageBackgroundQuickPane.populateBean(imageBackground); imageBackgroundQuickPane.populateBean(imageBackground);
} else { } else {
@ -181,8 +184,8 @@ public class VanChartWordCloudSeriesPane extends VanChartColorValueSeriesPane {
@Override @Override
public void populateBean(Plot plot) { public void populateBean(Plot plot) {
super.populateBean(plot); super.populateBean(plot);
if(plot instanceof VanChartWordCloudPlot){ if (plot instanceof VanChartWordCloudPlot) {
VanChartWordCloudPlot wordCloudPlot = (VanChartWordCloudPlot)plot; VanChartWordCloudPlot wordCloudPlot = (VanChartWordCloudPlot) plot;
fontNameComboBox.setSelectedItem(wordCloudPlot.getFont().getFamily()); fontNameComboBox.setSelectedItem(wordCloudPlot.getFont().getFamily());
minRotation.setValue(wordCloudPlot.getMinRotation()); minRotation.setValue(wordCloudPlot.getMinRotation());
maxRotation.setValue(wordCloudPlot.getMaxRotation()); maxRotation.setValue(wordCloudPlot.getMaxRotation());
@ -193,7 +196,7 @@ public class VanChartWordCloudSeriesPane extends VanChartColorValueSeriesPane {
cloudShape.setSelectedItem(wordCloudPlot.getShapeType()); cloudShape.setSelectedItem(wordCloudPlot.getShapeType());
ImageBackground imageBackground = wordCloudPlot.getShapeImage(); ImageBackground imageBackground = wordCloudPlot.getShapeImage();
if(imageBackground != null) { if (imageBackground != null) {
imageBackgroundQuickPane.populateBean(imageBackground); imageBackgroundQuickPane.populateBean(imageBackground);
} }
} }
@ -209,8 +212,8 @@ public class VanChartWordCloudSeriesPane extends VanChartColorValueSeriesPane {
@Override @Override
public void updateBean(Plot plot) { public void updateBean(Plot plot) {
super.updateBean(plot); super.updateBean(plot);
if(plot instanceof VanChartWordCloudPlot){ if (plot instanceof VanChartWordCloudPlot) {
VanChartWordCloudPlot wordCloudPlot = (VanChartWordCloudPlot)plot; VanChartWordCloudPlot wordCloudPlot = (VanChartWordCloudPlot) plot;
wordCloudPlot.setFont(FRFont.getInstance(fontNameComboBox.getSelectedItem().toString(), Font.PLAIN, 9)); wordCloudPlot.setFont(FRFont.getInstance(fontNameComboBox.getSelectedItem().toString(), Font.PLAIN, 9));
wordCloudPlot.setMinRotation(minRotation.getValue()); wordCloudPlot.setMinRotation(minRotation.getValue());
wordCloudPlot.setMaxRotation(maxRotation.getValue()); wordCloudPlot.setMaxRotation(maxRotation.getValue());
@ -220,7 +223,7 @@ public class VanChartWordCloudSeriesPane extends VanChartColorValueSeriesPane {
wordCloudPlot.setMaxFontSize(maxFontSize.getValue()); wordCloudPlot.setMaxFontSize(maxFontSize.getValue());
wordCloudPlot.setShapeType((CloudShapeType) cloudShape.getSelectedItem()); wordCloudPlot.setShapeType((CloudShapeType) cloudShape.getSelectedItem());
if(wordCloudPlot.getShapeType() != CloudShapeType.DEFAULT) { if (wordCloudPlot.getShapeType() != CloudShapeType.DEFAULT) {
wordCloudPlot.setShapeImage((ImageBackground) imageBackgroundQuickPane.updateBean()); wordCloudPlot.setShapeImage((ImageBackground) imageBackgroundQuickPane.updateBean());
} else { } else {
wordCloudPlot.setShapeImage(null); wordCloudPlot.setShapeImage(null);

Loading…
Cancel
Save