From 4c49a3b475761171ae03aaca01acb8b5a5cc5a18 Mon Sep 17 00:00:00 2001 From: kuangshuai Date: Mon, 25 Oct 2021 09:38:09 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-61299=20=E5=BC=B9=E7=AA=97=E7=B1=BB?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E9=AB=98=E4=BA=AE=E5=8C=BA=E5=9F=9F=E4=B8=8D?= =?UTF-8?q?=E5=8A=A0=E7=99=BD=E8=BE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../guide/scene/AbstractGuideScene.java | 46 +++++++++++-------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/guide/scene/AbstractGuideScene.java b/designer-base/src/main/java/com/fr/design/mainframe/guide/scene/AbstractGuideScene.java index 5ead71c62..5f22d620e 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/guide/scene/AbstractGuideScene.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/guide/scene/AbstractGuideScene.java @@ -75,13 +75,16 @@ public abstract class AbstractGuideScene extends JPanel implements GuideScene { if (component instanceof JComponent) { JComponent jComponent = (JComponent) component; image = ScreenImage.createImage(jComponent); + highlightList.add(getTargetComponentWithImage(image, rectangle, true)); } else if (component instanceof Window) { image = ScreenImage.createImage(component); + highlightList.add(getTargetComponentWithImage(image, rectangle, false)); } else { image = captureImage(component); + highlightList.add(getTargetComponentWithImage(image, rectangle,true)); } targetList.add(component); - highlightList.add(getTargetComponentWithImage(image, rectangle)); + return true; } catch (AWTException e) { e.printStackTrace(); @@ -99,7 +102,7 @@ public abstract class AbstractGuideScene extends JPanel implements GuideScene { try { targetList.add(null); BufferedImage image = captureImage(rectangle); - highlightList.add(getTargetComponentWithImage(image, rectangle)); + highlightList.add(getTargetComponentWithImage(image, rectangle, true)); return true; } catch (AWTException e) { e.printStackTrace(); @@ -133,7 +136,7 @@ public abstract class AbstractGuideScene extends JPanel implements GuideScene { image = ScreenImage.createImage(component).getSubimage(origin.x, origin.y, origin.width, origin.height); } targetList.add(component); - highlightList.add(getTargetComponentWithImage(image, rectangle)); + highlightList.add(getTargetComponentWithImage(image, rectangle, true)); return true; } catch (AWTException e) { e.printStackTrace(); @@ -170,22 +173,29 @@ public abstract class AbstractGuideScene extends JPanel implements GuideScene { return highlightList; } - private UILabel getTargetComponentWithImage(BufferedImage image, Rectangle rectangle) { + private UILabel getTargetComponentWithImage(BufferedImage image, Rectangle rectangle, boolean showBorder) { ImageIcon ic = new ImageIcon(image); - UILabel label = new UILabel(ic){ - @Override - public Insets getInsets() { - return DEFAULT_HIGHLIGHT_INSETS; - } - }; - label.setBackground(Color.WHITE); - label.setOpaque(true); - label.setBounds(new Rectangle( - rectangle.x - DEFAULT_HIGHLIGHT_INSETS.left, - rectangle.y - DEFAULT_HIGHLIGHT_INSETS.top, - rectangle.width + DEFAULT_HIGHLIGHT_INSETS.left + DEFAULT_HIGHLIGHT_INSETS.right, - rectangle.height + DEFAULT_HIGHLIGHT_INSETS.top + DEFAULT_HIGHLIGHT_INSETS.bottom - )); + UILabel label; + if (showBorder) { + label = new UILabel(ic){ + @Override + public Insets getInsets() { + return DEFAULT_HIGHLIGHT_INSETS; + } + }; + label.setBackground(Color.WHITE); + label.setOpaque(true); + label.setBounds(new Rectangle( + rectangle.x - DEFAULT_HIGHLIGHT_INSETS.left, + rectangle.y - DEFAULT_HIGHLIGHT_INSETS.top, + rectangle.width + DEFAULT_HIGHLIGHT_INSETS.left + DEFAULT_HIGHLIGHT_INSETS.right, + rectangle.height + DEFAULT_HIGHLIGHT_INSETS.top + DEFAULT_HIGHLIGHT_INSETS.bottom + )); + } else { + label = new UILabel(ic); + label.setBounds(rectangle); + } + return label; }