diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartHtmlLabelPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartHtmlLabelPane.java index 40f85dcb4..0e9cc416f 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartHtmlLabelPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartHtmlLabelPane.java @@ -11,9 +11,9 @@ import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants; +import com.fr.design.i18n.Toolkit; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; - import com.fr.design.utils.gui.UIComponentUtils; import com.fr.plugin.chart.base.VanChartHtmlLabel; import com.fr.van.chart.designer.style.VanChartStylePane; @@ -32,7 +32,7 @@ import java.awt.event.ActionListener; /** * Created by Mitisky on 16/2/19. */ -public class VanChartHtmlLabelPane extends JPanel{ +public class VanChartHtmlLabelPane extends JPanel { private static final long serialVersionUID = -5512128966013558611L; private static final int JS_HEIGHT = 100; @@ -47,7 +47,9 @@ public class VanChartHtmlLabelPane extends JPanel{ private VanChartStylePane parent; - public void setCustomFormatterText(String text){ + private JPanel widthAndHeightPane; + + public void setCustomFormatterText(String text) { contentTextArea.setText(text); } @@ -56,24 +58,28 @@ public class VanChartHtmlLabelPane extends JPanel{ } public VanChartHtmlLabelPane() { - useHtml = new UIToggleButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Html")); + useHtml = new UIToggleButton(Toolkit.i18nText("Fine-Design_Chart_Html")); UIComponentUtils.setLineWrap(useHtml); - JPanel widthAndHeightPane = createWidthAndHeightPane(); + useHtml.addChangeListener(e -> checkWidthAndHeightPane()); + widthAndHeightPane = createWidthAndHeightPane(); double p = TableLayout.PREFERRED; double f = TableLayout.FILL; double[] columnSize = {f}; - double[] rowSize = {p, p, p}; + double[] rowSize = {p, p, p, p}; - Component[][] components = new Component[][]{ + Component[][] components = new Component[][]{ new Component[]{createJSContentPane()}, new Component[]{useHtml}, - new Component[]{widthAndHeightPane} + new Component[]{null, null}, }; JPanel contentPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); this.setLayout(new BorderLayout()); - this.add(contentPane, BorderLayout.CENTER); + this.add(contentPane, BorderLayout.NORTH); + if (widthAndHeightPane != null) { + this.add(widthAndHeightPane, BorderLayout.CENTER); + } } private JComponent createJSContentPane() { @@ -112,7 +118,7 @@ public class VanChartHtmlLabelPane extends JPanel{ ac.setTriggerKey(KeyStroke.getKeyStroke(shortCuts.replace("+", "pressed"))); ac.install(contentTextArea); - return new UIScrollPane(contentTextArea){ + return new UIScrollPane(contentTextArea) { @Override public Dimension getPreferredSize() { return new Dimension(super.getPreferredSize().width, JS_HEIGHT); @@ -121,15 +127,15 @@ public class VanChartHtmlLabelPane extends JPanel{ } private void fireJSChange() { - if(parent != null){ + if (parent != null) { parent.attributeChanged(); } } protected JPanel createWidthAndHeightPane() { - isCustomWidth = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom_Width")); + isCustomWidth = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Custom_Width")); customWidth = new UITextField(6); - isCustomHeight = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom_Height")); + isCustomHeight = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Custom_Height")); customHeight = new UITextField(6); isCustomWidth.addActionListener(new ActionListener() { @@ -147,13 +153,13 @@ public class VanChartHtmlLabelPane extends JPanel{ }); double p = TableLayout.PREFERRED; double f = TableLayout.FILL; - double[] columnSize = { p, f }; + double[] columnSize = {p, f}; double[] rowSize = {p, p, p}; - Component[][] components = new Component[][]{ + Component[][] components = new Component[][]{ new Component[]{isCustomWidth, customWidth}, new Component[]{isCustomHeight, customHeight}, - new Component[] {null, null} + new Component[]{null, null} }; return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); } @@ -171,8 +177,14 @@ public class VanChartHtmlLabelPane extends JPanel{ checkWidth(); } - public void populate(VanChartHtmlLabel htmlLabel){ - if(htmlLabel == null){ + private void checkWidthAndHeightPane() { + if (widthAndHeightPane != null) { + widthAndHeightPane.setVisible(useHtml.isSelected()); + } + } + + public void populate(VanChartHtmlLabel htmlLabel) { + if (htmlLabel == null) { return; } setCustomFormatterText(htmlLabel.getCustomText()); @@ -186,10 +198,11 @@ public class VanChartHtmlLabelPane extends JPanel{ isCustomHeight.setSelected(htmlLabel.isCustomHeight()); customHeight.setText(htmlLabel.getHeight()); checkBoxUse(); + checkWidthAndHeightPane(); } public void update(VanChartHtmlLabel htmlLabel) { - if(htmlLabel == null){ + if (htmlLabel == null) { return; } htmlLabel.setCustomText(contentTextArea.getText()); diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartHtmlLabelPaneWithOutWidthAndHeight.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartHtmlLabelPaneWithOutWidthAndHeight.java index 48cc423c8..37a52fa16 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartHtmlLabelPaneWithOutWidthAndHeight.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartHtmlLabelPaneWithOutWidthAndHeight.java @@ -12,7 +12,7 @@ public class VanChartHtmlLabelPaneWithOutWidthAndHeight extends VanChartHtmlLabe private static final long serialVersionUID = -9213286452724939880L; protected JPanel createWidthAndHeightPane() { - return new JPanel(); + return null; } protected void populateWidthAndHeight(VanChartHtmlLabel htmlLabel) {