1.关于窗口切换,个人简单的思路就是使用全局的进行标记,然后调用Stage的hide()和show(),来完成窗口的显示和隐藏,完成窗口的切换
1.基本的controller层
LoginController
package com.hy.java.gui.javafx.iotdb.controller;
import java.io.IOException;
import com.hy.java.gui.javafx.iotdb.AppConstant;
import com.hy.java.gui.javafx.iotdb.properties.IotDBProperties;
import com.hy.java.gui.javafx.iotdb.utils.MsgUtils;
import com.hy.java.gui.javafx.iotdb.utils.NumberUtils;
import com.hy.java.gui.javafx.iotdb.utils.StringUtils;
import javafx.event.Event;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.control.Alert.AlertType;
/**
-
@author hy
-
@createTime 2021-07-25 17:09:00
-
@description 主要的登录界面
*/
public class LoginController {
@FXML
TextField iotdbIp;
@FXML
TextField iotdbPort;
@FXML
TextField iotdbUsername;
@FXML
TextField iotdbPassword;
@FXML
Label loginMsg;
@FXML
public void login(Event event) {
// 检查登录参数是否填写完毕
boolean check = loginCheck();
if (check) {
IotDBProperties iotDBProperties = createIotDBProperties();
boolean checkCanConnectionTODB = checkCanConnectionTODB(iotDBProperties);
if (!checkCanConnectionTODB) {
MsgUtils.alert(AlertType.ERROR, “错误”, “打开连接失败!”);
loginMsg.setText(“打开连接失败!”);
loginMsg.setTextFill(Color.RED);
} else {
// 直接打开另外一个界面
try {
if (AppConstant.mainStage == null) {
openMainStage(new Stage());
}else {
openMainStage(AppConstant.mainStage);
}
} catch (IOException e) {
e.printStackTrace();
MsgUtil