From 30f5bbbd14b9803dceb10328afe78bf3246b364a Mon Sep 17 00:00:00 2001 From: qmstyle Date: Wed, 5 Mar 2025 11:24:46 +0800 Subject: [PATCH] =?UTF-8?q?2025=E5=B9=B43=E6=9C=885=E6=97=A511:24:37?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 21 ++++++++++ .../online/exam/ui/admin/IndexPage.java | 38 +++++++++++++++++++ .../online/exam/ui/admin/LoginPage.java | 7 +++- .../online/exam/ui/layouts/SideMenu.java | 23 +++++++++++ .../online/exam/ui/layouts/TopMenu.java | 17 +++++++++ src/main/resources/fmxl/index.fxml | 14 +++++++ src/main/resources/fmxl/login.fxml | 35 +++++++++++++++++ 7 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/zhangmeng/online/exam/ui/admin/IndexPage.java create mode 100644 src/main/java/com/zhangmeng/online/exam/ui/layouts/SideMenu.java create mode 100644 src/main/java/com/zhangmeng/online/exam/ui/layouts/TopMenu.java create mode 100644 src/main/resources/fmxl/index.fxml create mode 100644 src/main/resources/fmxl/login.fxml diff --git a/pom.xml b/pom.xml index ddc91ea..5fd6f9e 100644 --- a/pom.xml +++ b/pom.xml @@ -38,6 +38,27 @@ ${junit.version} test + + + de.jensd + fontawesomefx-commons + 11.0 + compile + + + de.jensd + fontawesomefx-fontawesome + 4.7.0-11 + compile + + + + org.controlsfx + controlsfx + 11.2.1 + + + diff --git a/src/main/java/com/zhangmeng/online/exam/ui/admin/IndexPage.java b/src/main/java/com/zhangmeng/online/exam/ui/admin/IndexPage.java new file mode 100644 index 0000000..033d6e8 --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/ui/admin/IndexPage.java @@ -0,0 +1,38 @@ +package com.zhangmeng.online.exam.ui.admin; + +import com.zhangmeng.online.exam.ui.layouts.SideMenu; +import com.zhangmeng.online.exam.ui.layouts.TopMenu; +import javafx.scene.control.MenuBar; +import javafx.scene.control.SplitPane; +import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.BorderPane; +import javafx.scene.layout.StackPane; +import javafx.scene.layout.VBox; + +/** + * @author zm + * @date 2025/3/5 9:36 + * @version: 1.0 + */ +public class IndexPage extends BorderPane { + + private SideMenu sideMenu = null; + + public IndexPage() { + sideMenu = new SideMenu(); // 导航栏容器 + StackPane contentArea = new StackPane(); // 右侧内容区 + contentArea.setStyle("-fx-background-color: #3ce53c;"); + + AnchorPane top = new AnchorPane(); // 顶部容器 + top.setStyle("-fx-background-color: #8a4ed4;"); + top.setPrefHeight(40); + + TopMenu topMenu = new TopMenu(); // 顶部菜单栏 + top.getChildren().add(topMenu); + + this.setLeft(sideMenu); + this.setCenter(contentArea); + this.setTop(top); + } + +} diff --git a/src/main/java/com/zhangmeng/online/exam/ui/admin/LoginPage.java b/src/main/java/com/zhangmeng/online/exam/ui/admin/LoginPage.java index 0c7c43d..b6d9e87 100644 --- a/src/main/java/com/zhangmeng/online/exam/ui/admin/LoginPage.java +++ b/src/main/java/com/zhangmeng/online/exam/ui/admin/LoginPage.java @@ -7,6 +7,8 @@ import javafx.scene.control.Label; import javafx.scene.control.PasswordField; import javafx.scene.control.TextField; import javafx.scene.layout.*; +import javafx.stage.Stage; +import javafx.stage.Window; /** * @author zm @@ -107,8 +109,11 @@ public class LoginPage extends AnchorPane { button1.setOnAction(event -> { System.out.println("登录"); Scene scene = button1.getScene(); - ShortAnswerComponent shortAnswerComponent = new ShortAnswerComponent(); + IndexPage shortAnswerComponent = new IndexPage(); scene.setRoot(shortAnswerComponent); + Stage window =(Stage) scene.getWindow(); + window.setResizable(true); +// window.setFullScreen(true); }); } diff --git a/src/main/java/com/zhangmeng/online/exam/ui/layouts/SideMenu.java b/src/main/java/com/zhangmeng/online/exam/ui/layouts/SideMenu.java new file mode 100644 index 0000000..502d951 --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/ui/layouts/SideMenu.java @@ -0,0 +1,23 @@ +package com.zhangmeng.online.exam.ui.layouts; + +import javafx.scene.control.Button; +import javafx.scene.layout.VBox; + + + +/** + * @author zm + * @date 2025/3/5 9:42 + * @version: 1.0 + */ +public class SideMenu extends VBox { + + + public SideMenu() { + + this.setSpacing(10); + this.setPrefWidth(200); + this.setStyle("-fx-background-color: #2c3e50;"); + } + +} diff --git a/src/main/java/com/zhangmeng/online/exam/ui/layouts/TopMenu.java b/src/main/java/com/zhangmeng/online/exam/ui/layouts/TopMenu.java new file mode 100644 index 0000000..39e735f --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/ui/layouts/TopMenu.java @@ -0,0 +1,17 @@ +package com.zhangmeng.online.exam.ui.layouts; + +import javafx.scene.control.Menu; +import javafx.scene.control.MenuBar; + +/** + * @author zm + * @date 2025/3/5 11:09 + * @version: 1.0 + */ +public class TopMenu extends MenuBar { + + public TopMenu() { + super(); + this.prefHeight(40); + } +} diff --git a/src/main/resources/fmxl/index.fxml b/src/main/resources/fmxl/index.fxml new file mode 100644 index 0000000..ba2ee30 --- /dev/null +++ b/src/main/resources/fmxl/index.fxml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/src/main/resources/fmxl/login.fxml b/src/main/resources/fmxl/login.fxml new file mode 100644 index 0000000..fd5efa7 --- /dev/null +++ b/src/main/resources/fmxl/login.fxml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + +