From bdaac3381270b7ce8db589aebede53653184e8c2 Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 10 Jul 2018 22:18:24 +0800 Subject: [PATCH 1/3] =?UTF-8?q?REPORT-8947=2010.0=E6=B0=B4=E5=8D=B0?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E7=9A=84pdf=EF=BC=8C=E6=B0=B4=E5=8D=B0?= =?UTF-8?q?=E5=AD=97=E4=BD=93=E5=8F=98=E5=B0=8F=E4=B8=94=E5=AD=97=E4=BD=93?= =?UTF-8?q?=E6=A8=A1=E7=B3=8A=E9=94=AF=E9=BD=BF=E4=B8=A5=E9=87=8D=3D>?= =?UTF-8?q?=E5=AD=97=E4=BD=93=E5=A4=A7=E5=B0=8F=E6=A0=A1=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer-form/src/com/fr/design/mainframe/FormDesignerUI.java | 4 ++-- designer-realize/src/com/fr/grid/GridUI.java | 4 ++-- designer-realize/src/com/fr/poly/PolyDesignUI.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/designer-form/src/com/fr/design/mainframe/FormDesignerUI.java b/designer-form/src/com/fr/design/mainframe/FormDesignerUI.java index 959644ec8..e6b3c7fa8 100644 --- a/designer-form/src/com/fr/design/mainframe/FormDesignerUI.java +++ b/designer-form/src/com/fr/design/mainframe/FormDesignerUI.java @@ -120,8 +120,8 @@ public class FormDesignerUI extends ComponentUI { private void paintWatermark(Graphics2D g) { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(designer.getTarget()); // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || !ComparatorUtils.equals(watermarkPainter.getWatermark(), watermark)) { - watermarkPainter = new WatermarkPainter(watermark); + if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, designer.getResolution())) { + watermarkPainter = new WatermarkPainter(watermark, designer.getResolution()); } watermarkPainter.paint(g, 0, designer.getParaHeight(), designer.getArea().getBounds()); } diff --git a/designer-realize/src/com/fr/grid/GridUI.java b/designer-realize/src/com/fr/grid/GridUI.java index 8577212dc..eee49676f 100644 --- a/designer-realize/src/com/fr/grid/GridUI.java +++ b/designer-realize/src/com/fr/grid/GridUI.java @@ -1106,8 +1106,8 @@ public class GridUI extends ComponentUI { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(book); // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || !ComparatorUtils.equals(watermarkPainter.getWatermark(), watermark)) { - watermarkPainter = new WatermarkPainter(watermark); + if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, resolution)) { + watermarkPainter = new WatermarkPainter(watermark, resolution); } watermarkPainter.paint(g2d, gridSize.width, gridSize.height); } diff --git a/designer-realize/src/com/fr/poly/PolyDesignUI.java b/designer-realize/src/com/fr/poly/PolyDesignUI.java index 7b98269ea..d374d955f 100644 --- a/designer-realize/src/com/fr/poly/PolyDesignUI.java +++ b/designer-realize/src/com/fr/poly/PolyDesignUI.java @@ -114,8 +114,8 @@ public class PolyDesignUI extends ComponentUI { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(book); // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || !ComparatorUtils.equals(watermarkPainter.getWatermark(), watermark)) { - watermarkPainter = new WatermarkPainter(watermark); + if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, resolution)) { + watermarkPainter = new WatermarkPainter(watermark, resolution); } watermarkPainter.paint(g2d, width, height); } From d5a2c7b50524272f85865cf503ce5699d441bac3 Mon Sep 17 00:00:00 2001 From: plough Date: Wed, 11 Jul 2018 10:39:19 +0800 Subject: [PATCH 2/3] =?UTF-8?q?REPORT-8947=20=E8=B0=83=E6=95=B4=E6=B0=B4?= =?UTF-8?q?=E5=8D=B0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/report/WatermarkPreviewPane.java | 3 +- .../fr/design/mainframe/FormDesignerUI.java | 33 ++++++++----------- .../src/main/java/com/fr/grid/GridUI.java | 23 ++++++++----- .../main/java/com/fr/poly/PolyDesignUI.java | 9 ++--- 4 files changed, 33 insertions(+), 35 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/report/WatermarkPreviewPane.java b/designer-base/src/main/java/com/fr/design/report/WatermarkPreviewPane.java index 3c2d20704..8e9eb853e 100644 --- a/designer-base/src/main/java/com/fr/design/report/WatermarkPreviewPane.java +++ b/designer-base/src/main/java/com/fr/design/report/WatermarkPreviewPane.java @@ -32,6 +32,7 @@ public class WatermarkPreviewPane extends JPanel { super.paint(g); Graphics2D g2d = (Graphics2D)g; g2d.drawImage(UIConstants.WATERMARK_BACKGROUND, 0, 0, this.getWidth(), this.getHeight(), null); - new WatermarkPainter(watermark).paint(g2d, this.getWidth(), this.getHeight()); + WatermarkPainter painter = WatermarkPainter.createPainter(watermark); + painter.paint(g2d, this.getWidth(), this.getHeight()); } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java index e6b3c7fa8..5d9a166a1 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java @@ -1,18 +1,5 @@ package com.fr.design.mainframe; -import java.awt.AlphaComposite; -import java.awt.Component; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Rectangle; -import java.awt.geom.Area; -import java.awt.geom.Rectangle2D; -import java.util.ArrayList; - -import javax.swing.JComponent; -import javax.swing.SwingUtilities; -import javax.swing.plaf.ComponentUI; - import com.fr.base.BaseUtils; import com.fr.base.GraphHelper; import com.fr.base.ScreenResolution; @@ -30,12 +17,23 @@ import com.fr.design.designer.creator.XWFitLayout; import com.fr.design.form.util.XCreatorConstants; import com.fr.design.roleAuthority.ReportAndFSManagePane; import com.fr.design.utils.ComponentUtils; -import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.page.WatermarkPainter; import com.fr.report.core.ReportUtils; import com.fr.stable.ArrayUtils; +import javax.swing.JComponent; +import javax.swing.SwingUtilities; +import javax.swing.plaf.ComponentUI; +import java.awt.AlphaComposite; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Rectangle; +import java.awt.geom.Area; +import java.awt.geom.Rectangle2D; +import java.util.ArrayList; + /** * FormDesigner的UI类,是一个有状态的UI类,它根据FormDesigner的当前状态画出 * 具有所见即所得的设计界面,以及当前设计界面的一些辅助状态,比如选择标识、拖动区域 以及当前正在添加的组件 @@ -119,11 +117,8 @@ public class FormDesignerUI extends ComponentUI { // 绘制水印 private void paintWatermark(Graphics2D g) { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(designer.getTarget()); - // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, designer.getResolution())) { - watermarkPainter = new WatermarkPainter(watermark, designer.getResolution()); - } - watermarkPainter.paint(g, 0, designer.getParaHeight(), designer.getArea().getBounds()); + WatermarkPainter painter = WatermarkPainter.createPainter(watermark, designer.getResolution()); + painter.paint(g, 0, designer.getParaHeight(), designer.getArea().getBounds()); } private int[] getActualLine(int i) { diff --git a/designer-realize/src/main/java/com/fr/grid/GridUI.java b/designer-realize/src/main/java/com/fr/grid/GridUI.java index eee49676f..6c5da1630 100644 --- a/designer-realize/src/main/java/com/fr/grid/GridUI.java +++ b/designer-realize/src/main/java/com/fr/grid/GridUI.java @@ -48,9 +48,20 @@ import com.fr.stable.script.CalculatorUtils; import com.fr.stable.unit.FU; import com.fr.third.antlr.ANTLRException; -import javax.swing.*; +import javax.swing.JComponent; +import javax.swing.UIManager; import javax.swing.plaf.ComponentUI; -import java.awt.*; +import java.awt.AlphaComposite; +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Composite; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Paint; +import java.awt.Rectangle; +import java.awt.Shape; +import java.awt.Stroke; import java.awt.geom.Area; import java.awt.geom.GeneralPath; import java.awt.geom.Line2D; @@ -1104,12 +1115,8 @@ public class GridUI extends ComponentUI { // 绘制水印 private void paintWatermark(Graphics2D g2d, FineBook book) { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(book); - - // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, resolution)) { - watermarkPainter = new WatermarkPainter(watermark, resolution); - } - watermarkPainter.paint(g2d, gridSize.width, gridSize.height); + WatermarkPainter painter = WatermarkPainter.createPainter(watermark, resolution); + painter.paint(g2d, gridSize.width, gridSize.height); } diff --git a/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java b/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java index d374d955f..33058faf8 100644 --- a/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java +++ b/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java @@ -10,7 +10,6 @@ import com.fr.base.ScreenResolution; import com.fr.base.iofile.attr.WatermarkAttr; import com.fr.design.utils.ComponentUtils; import com.fr.general.Background; -import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.main.FineBook; import com.fr.page.PaperSettingProvider; @@ -112,12 +111,8 @@ public class PolyDesignUI extends ComponentUI { // 绘制水印 private void paintWatermark(Graphics2D g2d, FineBook book, int width, int height) { WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(book); - - // 不要每次都 new 一个 WatermarkPainter - if (watermarkPainter == null || watermarkPainter.isOutDated(watermark, resolution)) { - watermarkPainter = new WatermarkPainter(watermark, resolution); - } - watermarkPainter.paint(g2d, width, height); + WatermarkPainter painter = WatermarkPainter.createPainter(watermark, resolution); + painter.paint(g2d, width, height); } private void paintAddedData(Graphics g) { From 9c62a9d3bc04ef8f41724a80af4c48686f0fc3f9 Mon Sep 17 00:00:00 2001 From: plough Date: Wed, 11 Jul 2018 10:41:26 +0800 Subject: [PATCH 3/3] =?UTF-8?q?REPORT-8947=20=E8=B0=83=E6=95=B4=E6=B0=B4?= =?UTF-8?q?=E5=8D=B0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/mainframe/FormDesignerUI.java | 1 - designer-realize/src/main/java/com/fr/grid/GridUI.java | 1 - designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java | 1 - 3 files changed, 3 deletions(-) diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java index 5d9a166a1..5cc2ead91 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormDesignerUI.java @@ -44,7 +44,6 @@ public class FormDesignerUI extends ComponentUI { private FormDesigner designer; private SelectionModel selectionModel; private Rectangle2D.Double back_or_selection_rect = new Rectangle2D.Double(0, 0, 0, 0); - private WatermarkPainter watermarkPainter; private float time; public FormDesignerUI() { diff --git a/designer-realize/src/main/java/com/fr/grid/GridUI.java b/designer-realize/src/main/java/com/fr/grid/GridUI.java index 6c5da1630..45d8143c8 100644 --- a/designer-realize/src/main/java/com/fr/grid/GridUI.java +++ b/designer-realize/src/main/java/com/fr/grid/GridUI.java @@ -109,7 +109,6 @@ public class GridUI extends ComponentUI { protected int resolution; private boolean isAuthority = false; - private WatermarkPainter watermarkPainter; public GridUI(int resolution) { super(); diff --git a/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java b/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java index 33058faf8..ba6f79e71 100644 --- a/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java +++ b/designer-realize/src/main/java/com/fr/poly/PolyDesignUI.java @@ -55,7 +55,6 @@ public class PolyDesignUI extends ComponentUI { private PolyDesigner designer; private int resolution; private float time; - private WatermarkPainter watermarkPainter; public PolyDesignUI(int resolution) { if (resolution == 0){