| | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | /*@Override |
| | | protected void finalize() throws Throwable { |
| | | super.finalize(); |
| | | } |
| | | }*/ |
| | | |
| | | private void init() { |
| | | mCompositeDisposable = new CompositeDisposable(); |
| | |
| | | setInputText(tvInputTargetDbName, cb.getTargetDbName()); |
| | | setInputText(tvInputFreq, cb.getFreqValue()); |
| | | cbSelectFreqUnit.getSelectionModel().select(cb.getFreqUnit()); |
| | | |
| | | //默认启动同步功能 |
| | | if (cb.isStartSync()) { |
| | | startSync(); //启动同步功能 |
| | | } |
| | | } |
| | | }); |
| | | |
| | | //默认启动同步功能 |
| | | if (cb.isStartSync()) { |
| | | startSync(); //启动同步功能 |
| | | } |
| | | } else if (BuildType.equals(BuildTypeEnum.DEBUG)) { |
| | | try { |
| | | String srcHost = ConfigProperties.SRC_HOST; |
| | |
| | | |
| | | //点击:退出 |
| | | private void clickExit() { |
| | | if (isSyncing()) { |
| | | stopSync();//停止同步 |
| | | } |
| | | //系统托盘 |
| | | SystemTray tray = SystemTray.getSystemTray(); |
| | | if (tray != null) { |
| | | TrayIcon[] icons = tray.getTrayIcons(); |
| | | for (TrayIcon icon : icons) { |
| | | if (icon == null) continue; |
| | | //退出之前先移除系统托盘图标 |
| | | if (APPID.equals(icon.getActionCommand())) { |
| | | tray.remove(icon); |
| | | } |
| | | } |
| | | } |
| | | //退出 |
| | | Platform.exit(); |
| | | addSubscribe(Observable.just(true) |
| | | .subscribeOn(Schedulers.newThread()) |
| | | .observeOn(Schedulers.io()) |
| | | .doOnNext(new Consumer<Object>() { |
| | | @Override |
| | | public void accept(Object o) throws Exception { |
| | | if (isSyncing()) { |
| | | stopSync();//停止同步 |
| | | } |
| | | } |
| | | }) |
| | | .doOnNext(new Consumer<Object>() { |
| | | @Override |
| | | public void accept(Object o) throws Exception { |
| | | |
| | | //检查系统是否支持托盘 |
| | | if (SystemTray.isSupported()) { |
| | | //系统托盘 |
| | | SystemTray tray = SystemTray.getSystemTray(); |
| | | if (tray != null) { |
| | | TrayIcon[] icons = tray.getTrayIcons(); |
| | | for (TrayIcon icon : icons) { |
| | | if (icon == null) continue; |
| | | //退出之前先移除系统托盘图标 |
| | | if (APPID.equals(icon.getActionCommand())) { |
| | | tray.remove(icon); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | .subscribe(new Consumer<Boolean>() { |
| | | @Override |
| | | public void accept(Boolean aBoolean) throws Exception { |
| | | |
| | | TrayUtil.getInstance().exitApp();//退出 |
| | | } |
| | | }, new Consumer<Throwable>() { |
| | | @Override |
| | | public void accept(Throwable e) throws Exception { |
| | | e.printStackTrace(); |
| | | |
| | | TrayUtil.getInstance().exitApp();//退出 |
| | | } |
| | | })); |
| | | } |
| | | |
| | | |
| | | //点击:关于 |
| | | private void clickAbout() { |
| | |
| | | , targetFreq, freqSelect, startSync); |
| | | |
| | | //写入文件 |
| | | String path = PathUtil.projectPath + "\\config.json"; |
| | | String path = PathUtil.getConfigFilePath("config.json"); |
| | | String content = JsonUtil.toJson(cb); |
| | | |
| | | //使用 BufferedWriter 写文件 |
| | |
| | | //从本地配置文件中获取配置信息 |
| | | private ConfigBean getSaveConfig() { |
| | | try { |
| | | String json = FileUtil.bufferedReader(PathUtil.projectPath + "\\config.json"); |
| | | String json = FileUtil.bufferedReader(PathUtil.getConfigFilePath("config.json")); |
| | | return JsonUtil.fromJson(json, ConfigBean.class); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | stage.setTitle("参数设置"); |
| | | stage.setResizable(false); |
| | | stage.setWidth(360); |
| | | stage.setMinHeight(180); |
| | | stage.setMinHeight(218); |
| | | stage.getIcons().add(new Image("mipmap/ic_chinese_cabbage_48.png")); |
| | | //APPLICATION_MODAL 全局模态,该窗口运行时,其他窗口不能进行操作 |
| | | //WINDOW_MODAL 为父窗口禁用,其他窗口可以使用 |
| | |
| | | generalList.setPadding(new Insets(0, 20, 30, 20)); |
| | | generalList.setSpacing(4.0); |
| | | generalList.getChildren().add(cbStartSync); |
| | | |
| | | Label foot = new Label(String.format("* 更改将于重新启动 %s 后生效", AppName));//"* 更改将于重新启动 SyncTools 后生效"); |
| | | foot.setAlignment(Pos.CENTER); |
| | | foot.setFont(new Font(12)); |
| | | |
| | | VBox content = new VBox(); |
| | | content.setStyle("-fx-background-color: white"); |
| | | content.setPadding(new Insets(20)); |
| | | content.setSpacing(10); |
| | | content.getChildren().addAll(title, generalList, foot); |
| | | |
| | | |
| | | Button defButton = new Button("确定"); |
| | |
| | | saveConfigForIsStartSync(startSync, callback); |
| | | } |
| | | }); |
| | | |
| | | Button cancelButton = new Button("取消"); |
| | | cancelButton.setAlignment(Pos.CENTER); |
| | | cancelButton.setPrefSize(84, 24); |
| | | cancelButton.setCancelButton(true); |
| | | cancelButton.setOnAction(new EventHandler<ActionEvent>() { |
| | | |
| | | @Override |
| | |
| | | } |
| | | }); |
| | | |
| | | Label label = new Label(String.format("* 更改将于重新启动 %s 后生效", AppName));//"* 更改将于重新启动 SyncTools 后生效"); |
| | | label.setAlignment(Pos.CENTER); |
| | | label.setFont(new Font(12)); |
| | | |
| | | VBox content = new VBox(); |
| | | content.setStyle("-fx-background-color: white"); |
| | | content.setPadding(new Insets(20)); |
| | | content.setSpacing(10); |
| | | content.getChildren().addAll(title, generalList, label); |
| | | |
| | | |
| | | HBox operate = new HBox(); |
| | | operate.setAlignment(Pos.CENTER_RIGHT); |
| | | operate.setSpacing(8); |
| | | // operate.setStyle("-fx-background-color: #F0F0F0"); |
| | | operate.setPadding(new Insets(12, 20, 6, 20)); |
| | | operate.setPadding(new Insets(12, 20, 12, 20)); |
| | | operate.getChildren().addAll(defButton, cancelButton); |
| | | |
| | | VBox vBox = new VBox(); |
| | | vBox.setSpacing(4.0); |
| | | vBox.setSpacing(0); |
| | | vBox.setPadding(getInsets()); |
| | | vBox.getChildren().addAll(content, operate); |
| | | |
| | | stage.setScene(new Scene(vBox)); |
| | |
| | | } |
| | | cb.setStartSync(startSync); |
| | | |
| | | String path = PathUtil.projectPath + "\\config.json"; |
| | | String path = PathUtil.getConfigFilePath("config.json"); |
| | | String content = JsonUtil.toJson(cb); |
| | | |
| | | //使用 BufferedWriter 写文件 |
| | |
| | | } |
| | | |
| | | |
| | | private Insets getInsets() { |
| | | if (SystemUtil.isWindows()) { |
| | | return new Insets(0, 0, -10, 0); |
| | | } |
| | | return new Insets(0); |
| | | } |
| | | |
| | | public boolean isSyncing() { |
| | | return mSyncing; |
| | | } |