diff --git a/resources/html/UserCenter/login.html b/resources/html/UserCenter/login.html
index f67a909..9f20d07 100644
--- a/resources/html/UserCenter/login.html
+++ b/resources/html/UserCenter/login.html
@@ -2,7 +2,7 @@
- 登录界面
+ 用户登录
diff --git a/src/main/java/cn/minbrowser/util/CustomUrlUtil.java b/src/main/java/cn/minbrowser/util/CustomUrlUtil.java
index 54d79ec..004d502 100644
--- a/src/main/java/cn/minbrowser/util/CustomUrlUtil.java
+++ b/src/main/java/cn/minbrowser/util/CustomUrlUtil.java
@@ -9,8 +9,12 @@ package cn.minbrowser.util;
*/
public class CustomUrlUtil {
public static final String INDEX_URL = "index";
+ public static final String INDEX_SHOW_URL = "minbrowser:/index";
public static final String Setting_URL = "setting";
+ public static final String Setting_SHOW_URL = "minbrowser:/settings";
public static final String LOGIN_URL = "login";
+ public static final String LOGIN_SHOW_URL = "minbrowser:/user/login";
public static final String REGISTER_URL = "register";
+ public static final String REGISTER_SHOW_URL = "minbrowser:/user/register";
public static final String ERROR_URL = "error";
}
diff --git a/src/main/java/cn/minbrowser/view/NavigationBarController.java b/src/main/java/cn/minbrowser/view/NavigationBarController.java
index a1a3ce5..29ea075 100644
--- a/src/main/java/cn/minbrowser/view/NavigationBarController.java
+++ b/src/main/java/cn/minbrowser/view/NavigationBarController.java
@@ -100,33 +100,58 @@ public class NavigationBarController implements Initializable {
}
/**
- * 这里应该执行一个展示主页的界面,目前先只加载一个新的tab页
+ * 获取当前聚焦的tab,显示主页
*/
- public void showHomePage(){
- tabPane.getTabs().add(new MiniTab(this));
- }
-
- /**
- * 这里应该执行一个显示登录页的界面,目前先只加载一个新的tab页
- */
- public void showUserCenter(){
- tabPane.getTabs().add(new MiniTab(this));
- }
-
- /**
- * 在当前聚焦的Tab上,显示设置界面
- */
- public void showSelectedSettingInfo(){
+ public void showSelectedHomePage(){
MiniTab miniTab=getSelectedTab();
- miniTab.showSettingInfo();
+ miniTab.showLocalHomePage();
+ }
+
+ /**
+ * 获取当前聚焦的tab,显示登录界面
+ */
+ public void showSelectedLoginPage(){
+ MiniTab miniTab=getSelectedTab();
+ miniTab.showLoginPage();
+ }
+
+ /**
+ * 新建一个tab,显示登录界面
+ */
+ public void showNewLoginPage(){
+ // 遍历tab:如果没登录界面,就打开一个新的设置界面;有,则将焦点改到该界面
+ int flag=0; //0表示没界面,>0表示有
+ for (Tab tab: tabPane.getTabs()) {
+ MiniTab miniTab= (MiniTab) tab;
+ if(miniTab.getUrlText().equals(CustomUrlUtil.LOGIN_SHOW_URL)){
+ flag++;
+ tabPane.getSelectionModel().select(tab);
+ }
+ }
+ if(flag==0) {
+ MiniTab miniTab = new MiniTab(CustomUrlUtil.LOGIN_URL, this);
+ tabPane.getTabs().add(miniTab);
+ tabPane.getSelectionModel().select(miniTab);
+ }
}
/**
* 新建一个tab,显示设置界面
*/
public void showNewSettingInfo(){
- MiniTab miniTab=new MiniTab(CustomUrlUtil.Setting_URL,this);
- tabPane.getTabs().add(miniTab);
- tabPane.getSelectionModel().select(miniTab);
+ // 遍历tab:如果没设置界面,就打开一个新的设置界面;有,则将焦点改到该界面
+ int flag=0; //0表示没设置界面,>0表示有
+ for (Tab tab: tabPane.getTabs()) {
+ MiniTab miniTab= (MiniTab) tab;
+ if(miniTab.getUrlText().equals(CustomUrlUtil.Setting_SHOW_URL)){
+ flag++;
+ tabPane.getSelectionModel().select(tab);
+ }
+ }
+ if(flag==0) {
+ MiniTab miniTab = new MiniTab(CustomUrlUtil.Setting_URL, this);
+ tabPane.getTabs().add(miniTab);
+ tabPane.getSelectionModel().select(miniTab);
+ }
}
}
diff --git a/src/main/java/cn/minbrowser/view/login/LoginHTMLController.java b/src/main/java/cn/minbrowser/view/login/LoginHTMLController.java
index c1f9654..14efecd 100644
--- a/src/main/java/cn/minbrowser/view/login/LoginHTMLController.java
+++ b/src/main/java/cn/minbrowser/view/login/LoginHTMLController.java
@@ -41,6 +41,6 @@ public class LoginHTMLController {
* 支持跳转到主页
*/
public void showHomePage(){
- navigationBarController.showHomePage();
+ navigationBarController.showSelectedHomePage();
}
}
diff --git a/src/main/java/cn/minbrowser/view/login/RegisterHTMLController.java b/src/main/java/cn/minbrowser/view/login/RegisterHTMLController.java
index 51e06a1..04e1811 100644
--- a/src/main/java/cn/minbrowser/view/login/RegisterHTMLController.java
+++ b/src/main/java/cn/minbrowser/view/login/RegisterHTMLController.java
@@ -41,6 +41,6 @@ public class RegisterHTMLController {
* 支持跳转到登录页
*/
public void showLoginPage(){
- navigationBarController.showUserCenter();
+ navigationBarController.showSelectedLoginPage();
}
}
diff --git a/src/main/java/cn/minbrowser/view/minibrowser/MiniTab.java b/src/main/java/cn/minbrowser/view/minibrowser/MiniTab.java
index c7c2d14..0fe797e 100644
--- a/src/main/java/cn/minbrowser/view/minibrowser/MiniTab.java
+++ b/src/main/java/cn/minbrowser/view/minibrowser/MiniTab.java
@@ -178,18 +178,25 @@ public class MiniTab extends Tab {
return input;
}
+ /**
+ * 获取当前url
+ */
+ public String getUrlText(){
+ return input.getText().trim();
+ }
+
/**
* 根据尚未显示在input控件上的url,进行页面加载
* @param url
*/
private void analysisAddress(String url){
- if(url.equals(INDEX_URL)){
+ if(url.equals(INDEX_URL) || url.equals(INDEX_SHOW_URL)){
showLocalHomePage();
- }else if(url.equals(Setting_URL)){
+ }else if(url.equals(Setting_URL) || url.equals(Setting_SHOW_URL)){
showSettingInfo();
- }else if(url.equals(LOGIN_URL)){
+ }else if(url.equals(LOGIN_URL) || url.equals(LOGIN_SHOW_URL)){
showLoginPage();
- }else if(url.equals(REGISTER_URL)){
+ }else if(url.equals(REGISTER_URL) || url.equals(REGISTER_SHOW_URL)){
showRegisterPage();
}else if(url.equals(ERROR_URL)){
showErrorPage();
@@ -203,9 +210,6 @@ public class MiniTab extends Tab {
*/
private void initWebViewEvent() {
// 监听到新的地址的改变,修改url地址
-// webview.getEngine().locationProperty().addListener((ObservableValue extends String> ov, final String oldLoc, final String loc) -> {
-// refreshUrlText(loc);
-// });
webview.getEngine().getLoadWorker().stateProperty().addListener(
new ChangeListener() {
public void changed(ObservableValue ov, State oldState, State newState) {
@@ -299,18 +303,26 @@ public class MiniTab extends Tab {
// 刷新urlText的显示,以及js和java的数据交互
public void refreshUrlText(String url) {
- if (url.contains("resources/html/UserCenter/login.html")) {
- input.setText("minbrowser:/user/login");
+ if (url.contains("resources/html/UserCenter/login.html")
+ || url.equals(LOGIN_URL)
+ || url.equals(LOGIN_SHOW_URL)) {
+ input.setText(LOGIN_SHOW_URL);
setLoginListener();
- } else if(url.contains("resources/html/UserCenter/register.html")) {
- input.setText("minbrowser:/user/register");
+ } else if(url.contains("resources/html/UserCenter/register.html")
+ || url.equals(REGISTER_URL)
+ || url.equals(REGISTER_SHOW_URL)) {
+ input.setText(REGISTER_SHOW_URL);
setRegisterListener();
- } else if (url.contains("resources/html/BrowserSetting")) {
- input.setText("minbrowser:/settings");
+ } else if (url.contains("resources/html/BrowserSetting")
+ || url.equals(Setting_URL)
+ || url.equals(Setting_SHOW_URL)) {
+ input.setText(Setting_SHOW_URL);
showSettingInfoByListenEngineState();
setChangingSettingInfoListener();
- } else if(url.contains("resources/html/MainPage.html")||url.equals(INDEX_URL)){
- input.setText("minbrowser:/index");
+ } else if(url.contains("resources/html/MainPage.html")
+ || url.equals(INDEX_URL)
+ || url.equals(INDEX_SHOW_URL)){
+ input.setText(INDEX_SHOW_URL);
showUsernameByListenEngineState();
}else {
try {
@@ -331,7 +343,6 @@ public class MiniTab extends Tab {
webview.getEngine().executeScript("showDownloadDir(\" " + settingHTMLController.getDownloadDir() + " \");");
webview.getEngine().executeScript("showMisIP(\" " + settingHTMLController.getMisIP() + " \");");
webview.getEngine().executeScript("showMisPort(\" " + settingHTMLController.getMisPort() + " \");");
-// mainWebView.getEngine().executeScript("showInfo()");
}
/**
@@ -370,7 +381,6 @@ public class MiniTab extends Tab {
private void showUsernameByListenEngineState() {
System.out.println("username: " + mainPageHTMLController.getUserName());
webview.getEngine().executeScript("showUserName(\" " + mainPageHTMLController.getUserName() + " \");");
-// webview.getEngine().executeScript("showUserNameTest();");
}
// 显示用户注册页
@@ -418,7 +428,6 @@ public class MiniTab extends Tab {
public void showLocalHomePage() {
try {
loadLocalPage("/resources/html" + "/MainPage.html");
-// webview.getEngine().executeScript("showUserName(\" " + mainPageHTMLController.getUserName() + " \");");
} catch (MalformedURLException e) {
e.printStackTrace();
}
@@ -435,15 +444,5 @@ public class MiniTab extends Tab {
System.out.println(filepath);
System.out.println(fileUrl.toString());
webview.getEngine().load(fileUrl.toString());
-// try {
-// Thread.sleep(1000);
-// } catch (InterruptedException e) {
-// e.printStackTrace();
-// }
-// webview.getEngine().executeScript("function showUserName(username) {\n" +
-// " document.getElementById(\"username\").innerHTML=username;\n" +
-// " }" +
-// "showUserName('hhhh');");
-// webview.getEngine().executeScript("showUserName(\" " + mainPageHTMLController.getUserName() + " \")");
}
}
diff --git a/src/main/resources/fxml/NavigationBarOverviewV2.fxml b/src/main/resources/fxml/NavigationBarOverviewV2.fxml
index f13c208..851ed87 100644
--- a/src/main/resources/fxml/NavigationBarOverviewV2.fxml
+++ b/src/main/resources/fxml/NavigationBarOverviewV2.fxml
@@ -19,7 +19,7 @@
-
+