diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionApiController.java b/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionApiController.java index d0ca99db..c7a40910 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionApiController.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionApiController.java @@ -210,7 +210,6 @@ public class OptionApiController { return; } - Dialog.showProgress("扫描API..."); String absolutePath = apiPath.get(0).getAbsolutePath(); String separator = Tool.replaceSeparator(absolutePath, "#"); @@ -289,7 +288,6 @@ public class OptionApiController { } initData(); - Dialog.stopPopup(); } } diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java b/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java index d931f6ee..d70153a9 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java @@ -30,6 +30,9 @@ import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.Callable; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -404,37 +407,37 @@ public class Dialog { controller.getCreate().setOnAction(new EventHandler() { @Override public void handle(ActionEvent event) { - check(controller, controller.getCreate().isSelected(), ".create"); + check(controller, controller.getCreate().isSelected(), "create"); } }); controller.getDelete().setOnAction(new EventHandler() { @Override public void handle(ActionEvent event) { - check(controller, controller.getDelete().isSelected(), ".delete"); + check(controller, controller.getDelete().isSelected(), "delete"); } }); controller.getUpdate().setOnAction(new EventHandler() { @Override public void handle(ActionEvent event) { - check(controller, controller.getUpdate().isSelected(), ".update"); + check(controller, controller.getUpdate().isSelected(), "update"); } }); controller.getFind().setOnAction(new EventHandler() { @Override public void handle(ActionEvent event) { - check(controller, controller.getFind().isSelected(), ".find"); + check(controller, controller.getFind().isSelected(), "find"); } }); controller.getSearch().setOnAction(new EventHandler() { @Override public void handle(ActionEvent event) { - check(controller, controller.getSearch().isSelected(), ".search"); + check(controller, controller.getSearch().isSelected(), "search"); } }); controller.getGet().setOnAction(new EventHandler() { @Override public void handle(ActionEvent event) { - check(controller, controller.getGet().isSelected(), ".get"); + check(controller, controller.getGet().isSelected(), "get"); } }); @@ -442,7 +445,15 @@ public class Dialog { modulePath.textProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue observable, String oldValue, String newValue) { - controller.load(); + Dialog.showProgress("初始化面板"); + Callable callable = Executors.callable(new Runnable() { + @Override + public void run() { + controller.load(); + Dialog.stopPopup(); + } + }); + Executors.newSingleThreadExecutor().submit(callable); } }); @@ -639,7 +650,7 @@ public class Dialog { private static void check(OptionApiController controller, boolean check, String key) { for (Api api : controller.getData()) { - if (api.getMethod().endsWith(key) || (key.equals(".api.") && api.getMethod().contains(".api."))) { + if (api.getMethod().contains(key)) { api.setCheck(check); } }