From a0883aed7f16bddc40d113e268aafac2d4f3ae0b Mon Sep 17 00:00:00 2001 From: zack Date: Fri, 22 Jun 2018 14:11:41 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-8813=20=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E5=A2=9E=E5=8A=A0=E5=8A=A0=E8=BD=BD=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B=E7=9A=84loading=20,=E5=8D=95=E4=BE=8B=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E8=A6=81=E6=94=BE=E5=88=B0=E5=9F=BA=E7=A1=80=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E4=B9=8B=E5=90=8E=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gui/iprogressbar/UIProgressBorder.java | 5 +- .../src/com/fr/start/Designer.java | 19 -------- .../com/fr/start/module/DesignerStartup.java | 46 +++++++++++++++---- 3 files changed, 42 insertions(+), 28 deletions(-) diff --git a/designer-base/src/com/fr/design/gui/iprogressbar/UIProgressBorder.java b/designer-base/src/com/fr/design/gui/iprogressbar/UIProgressBorder.java index fb0207078..c4df50e82 100644 --- a/designer-base/src/com/fr/design/gui/iprogressbar/UIProgressBorder.java +++ b/designer-base/src/com/fr/design/gui/iprogressbar/UIProgressBorder.java @@ -1,6 +1,7 @@ package com.fr.design.gui.iprogressbar; import com.fr.design.border.UIRoundedBorder; +import com.fr.stable.OperatingSystem; import java.awt.AlphaComposite; import java.awt.BasicStroke; @@ -62,7 +63,9 @@ public class UIProgressBorder extends UIRoundedBorder { g2d.fill(new RoundRectangle2D.Double(x, y, width, height, 0, 0)); g2d.setColor(oldColor); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); - paintBorderShadow(g2d, 7, x, y, width, height); + if(OperatingSystem.isWindows()){//mac下自带阴影 + paintBorderShadow(g2d, 7, x, y, width, height); + } g2d.setColor(oldColor); g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 1f)); diff --git a/designer-realize/src/com/fr/start/Designer.java b/designer-realize/src/com/fr/start/Designer.java index a2ef7df4f..553b580d7 100644 --- a/designer-realize/src/com/fr/start/Designer.java +++ b/designer-realize/src/com/fr/start/Designer.java @@ -137,25 +137,6 @@ public class Designer extends BaseDesigner { TemplateInfoCollector.getInstance(); } }); - - service.submit(new Runnable() { - @Override - public void run() { - CellElementPropertyPane.getInstance(); - } - }); - service.submit(new Runnable() { - @Override - public void run() { - DesignerFrameFileDealerPane.getInstance();//这边会涉及到TemplateTreePane - } - }); - service.submit(new Runnable() { - @Override - public void run() { - WidgetInfoConfig.getInstance(); - } - }); service.shutdown(); } diff --git a/designer-realize/src/com/fr/start/module/DesignerStartup.java b/designer-realize/src/com/fr/start/module/DesignerStartup.java index c78905c7e..5a2ed7faa 100644 --- a/designer-realize/src/com/fr/start/module/DesignerStartup.java +++ b/designer-realize/src/com/fr/start/module/DesignerStartup.java @@ -1,8 +1,11 @@ package com.fr.start.module; +import com.fr.design.mainframe.CellElementPropertyPane; import com.fr.design.mainframe.DesignerContext; +import com.fr.design.mainframe.DesignerFrameFileDealerPane; import com.fr.event.Event; import com.fr.event.Listener; +import com.fr.form.ui.WidgetInfoConfig; import com.fr.module.Activator; import com.fr.start.Designer; import com.fr.start.EnvSwitcher; @@ -26,6 +29,7 @@ public class DesignerStartup extends Activator { startSub(BasicActivator.class); final String[] args = getModule().upFindSingleton(StartupArgs.class).get(); final Designer designer = new Designer(args); + preLoadSomething(); //启动env startSub(DesignerWorkspaceProvider.class); startSub(EnvBasedModule.class); @@ -46,31 +50,57 @@ public class DesignerStartup extends Activator { DesignerContext.getDesignerFrame().getProgressDialog().setVisible(true); startSub(StartFinishActivator.class); } - + + /** + * 基础模块结束后可以提前加载一部分依赖基础模块(国际化,图标样式之类)的东西 + */ + private void preLoadSomething(){ + ExecutorService service = Executors.newCachedThreadPool(); + service.submit(new Runnable() { + @Override + public void run() { + CellElementPropertyPane.getInstance(); + } + }); + service.submit(new Runnable() { + @Override + public void run() { + DesignerFrameFileDealerPane.getInstance();//这边会涉及到TemplateTreePane + } + }); + service.submit(new Runnable() { + @Override + public void run() { + WidgetInfoConfig.getInstance(); + } + }); + service.shutdown(); + } + /** * 切换环境时,重新启动所有相关模块 */ private void registerEnvListener() { - + listenEvent(WorkspaceEvent.BeforeSwitch, new Listener() { - + @Override public void on(Event event, Workspace param) { - + getSub(EnvBasedModule.class).stop(); } }); listenEvent(WorkspaceEvent.AfterSwitch, new Listener() { - + @Override public void on(Event event, Workspace param) { - + getSub(EnvBasedModule.class).start(); } }); } - - + + @Override public void stop() {