diff --git a/build.gradle b/build.gradle index 5439b950b..3118ed8a9 100644 --- a/build.gradle +++ b/build.gradle @@ -57,10 +57,10 @@ allprojects { } dependencies { - implementation 'com.fr.third:jxbrowser:7.5' - implementation 'com.fr.third:jxbrowser-swing:7.5' - implementation 'com.fr.third:jxbrowser-mac:7.5' - implementation 'com.fr.third:jxbrowser-win64:7.5' + implementation 'com.fr.third:jxbrowser:6.23' + implementation 'com.fr.third:jxbrowser-swing:6.23' + implementation 'com.fr.third:jxbrowser-mac:6.23' + implementation 'com.fr.third:jxbrowser-win64:6.23' implementation 'com.fr.third.server:servlet-api:3.0' implementation 'org.swingexplorer:swexpl:2.0.1' implementation 'org.swingexplorer:swag:1.0' diff --git a/designer-base/src/main/java/com/fr/design/javascript/JSContentPane.java b/designer-base/src/main/java/com/fr/design/javascript/JSContentPane.java index cd6e01df3..2ca2d6e66 100644 --- a/designer-base/src/main/java/com/fr/design/javascript/JSContentPane.java +++ b/designer-base/src/main/java/com/fr/design/javascript/JSContentPane.java @@ -21,6 +21,8 @@ import com.fr.general.IOUtils; import javax.swing.*; import java.awt.*; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.ArrayList; @@ -82,6 +84,20 @@ public class JSContentPane extends BasicPane { UIScrollPane sp = new UIScrollPane(contentTextArea); this.add(sp, BorderLayout.CENTER); + contentTextArea.addFocusListener(new FocusListener() { + @Override + public void focusGained(FocusEvent e) { + // 获得焦点时 安装 + installAutoCompletion(); + } + + @Override + public void focusLost(FocusEvent e) { + // 失去焦点时 卸载 + uninstallAutoCompletion(); + } + }); + UILabel funNameLabel2 = new UILabel(); funNameLabel2.setText("}"); this.add(funNameLabel2, BorderLayout.SOUTH); @@ -91,12 +107,10 @@ public class JSContentPane extends BasicPane { return KeyStroke.getKeyStroke(ks.replace("+", "pressed")); } - @Override - protected String title4PopupWindow() { - return "JS"; - } - - public void populate(String js) { + /** + * 注册安装 自动补全监听 + */ + private void installAutoCompletion() { if (ac == null) { CompletionProvider provider = createCompletionProvider(); ac = new AutoCompletion(provider); @@ -105,16 +119,28 @@ public class JSContentPane extends BasicPane { ac.setTriggerKey(convert2KeyStroke(shortCuts)); ac.install(contentTextArea); } - - this.contentTextArea.setText(js); } - public String update() { + /** + * 卸载移除 自动补全监听 + */ + private void uninstallAutoCompletion() { if (ac != null) { - this.ac.uninstall(); + ac.uninstall(); ac = null; } + } + @Override + protected String title4PopupWindow() { + return "JS"; + } + + public void populate(String js) { + this.contentTextArea.setText(js); + } + + public String update() { return this.contentTextArea.getText(); } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/MobileTemplateStyleDefinePane.java b/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/MobileTemplateStyleDefinePane.java index 7c07aee6f..6dc2da5e9 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/MobileTemplateStyleDefinePane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/MobileTemplateStyleDefinePane.java @@ -109,7 +109,7 @@ public abstract class MobileTemplateStyleDefinePane extends BasicBeanPane