package sample;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.image.Image;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
import javafx.util.Callback;
import java.util.ArrayList;
public class View extends Application {
// 登录学生学号
private static int id;
private static Stage stage;
// 提示框数目
private static int number = 0;
// 增删改查的页面数
private static int anum = 0;
private static Student student0;
private static Image img=new Image("D:\\JAVA\\id\\JavaFX\\image\\bg1.jpg");
private static BackgroundImage bImg = new BackgroundImage(img,
BackgroundRepeat.NO_REPEAT,
BackgroundRepeat.NO_REPEAT,
BackgroundPosition.DEFAULT,
BackgroundSize.DEFAULT);
private static Background bGround = new Background(bImg);
@Override
public void start(Stage stage) throws Exception {
// 将舞台复制给静态属性
View.stage = stage;
stage.setTitle("学生信息管理系统");
// 设置窗口大小不可调节
stage.setResizable(false);
// 登录
login();
stage.show();
}
// 登录界面
static void login() {
// 新建布局
GridPane gp = new GridPane();
// 设置居中方式
gp.setAlignment(Pos.CENTER);
// 调整空隙
gp.setHgap(10);
gp.setVgap(20);
// 新建文本标签
Label l1 = new Label("学号");
TextField idt = new TextField();
// 用户密码
Label l2 = new Label("密码");
// 字体
Font fon1 = Font.font("Times New Roman", FontWeight.BOLD, FontPosture.REGULAR, 20);
l1.setFont(fon1);
l2.setFont(fon1);
// 新建密码框
PasswordField pwd = new PasswordField();
// 按钮的创建
Button b1 = new Button("登录");
Button b2 = new Button("注册");
// 单选框:学生,老师
ToggleGroup group = new ToggleGroup();
RadioButton student = new RadioButton("学生");
RadioButton manager = new RadioButton("管理员");
HBox h1 = new HBox();
student.setToggleGroup(group);
manager.setToggleGroup(group);
// 添加单选按钮监听
group.selectedToggleProperty().addListener((observable, oldValue, newValue) -> {
if (newValue.equals(student)) { //单选按钮为学生
l1.setText("学号");
b1.setOnAction(actionEvent -> {
try {
if (Connect.login(Integer.valueOf(idt.getText()), pwd.getText()) > 0) {
id=Integer.valueOf(idt.getText());
homepage();
} else {
if (number == 0) {
tips("登陆失败");
}
}
} catch (Exception e) {
e.printStackTrace();
}
});
// 注册按钮事件
b2.setOnAction(actionEvent -> {
BorderPane bp = new BorderPane();
add(bp);
});
// 设置”注册“按钮可见
b2.setVisible(true);
} else if (newValue.equals(manager)) {
// 设置”注册“按钮不可见
b2.setVisible(false);
l1.setText("姓名");
b1.setOnAction(actionEvent -> {
try {
if (Connect.maglogin(idt.getText(), pwd.getText())) {
maghomepage();
} else {
if (number == 0) {
tips("登录失败");
}
}
;
} catch (Exception e) {
e.printStackTrace();
}
});
}
});
h1.getChildren().addAll(student, manager);
// 背景图片
gp.setBackground(bGround);
// 添加画板
gp.add(l1, 0, 0);
gp.add(idt, 1, 0);
gp.add(l2, 0, 1);
gp.add(pwd, 1, 1);
gp.add(b1, 0, 2);
gp.add(b2, 1, 2);
gp.add(h1, 1, 3);
Scene sc = new Scene(gp, 400, 300);
stage.setScene(sc);
}
// 学生操作界面
static void homepage() {
// 创建文本
Label l5 = new Label("学生查询系统");
Button l1 = new Button("个人信息");
Button l3 = new Button("成绩查询");
Button l4 = new Button("返回登录");
// 设置字体颜色
l1.setTextFill(Color.BLUE);
l3.setTextFill(Color.BLUE);
l4.setTextFill(Color.BLUE);
// 设置字体大小
Font fon1 = Font.font("Times New Roman", FontWeight.BOLD, FontPosture.REGULAR, 30);
Font fon2 = Font.font("Times New Roman", FontWeight.BOLD, FontPosture.REGULAR, 20);
l5.setFont(fon1);
l1.setFont(fon2);
l3.setFont(fon2);
l4.setFont(fon2);
// 学生信息查询
l1.setOnAction(actionEvent -> {
query();
});
// 成绩查询
l3.setOnAction(actionEvent -> {
try {
score(id);
} catch (Exception e) {
e.printStackTrace();
}
});
// 返回登陆
l4.setOnAction(actionEvent -> {
login();
});
// 添加面板
VBox bv = new VBox(50, l5, l1, l3, l4);
bv.setAlignment(Pos.CENTER);
bv.setBackground(bGround);
Scene sc = new Scene(bv, 500, 600);
stage.setScene(sc);
}
// 管理员操作界面
static void maghomepage() {
// 创建文本
Label l5 = new Label("学生查询系统");
Button l1 = new Button("学生信息管理");
Button l2 = new Button("学生成绩管理");
Button l3 = new Button("返回登陆");
// 设置字体颜色
l1.setTextFill(Color.BLUE);
l2.setTextFill(Color.BLUE);
l3.setTextFill(Color.BLUE);
// 设置字体大小
Font fon1 = Font.font("Times New Roman", FontWeight.BOLD, FontPosture.REGULAR, 30);
Font fon2 = Font.font("Times New Roman", FontWeight.BOLD, FontPosture.REGULAR, 20);
l5.setFont(fon1);
l1.setFont(fon2);
l2.setFont(fon2);
l3.setFont(fon2);
// 学生信息管理
l1.setOnAction(actionEvent -> {
magquery();
});
// 学生成绩管理
l2.setOnAction(actionEvent -> {
magscore();
});
// 返回登陆
l3.setOnAction(actionEvent -> {
login();
});
// 添加面板
VBox bv = new VBox(50, l5, l1, l2, l3);
bv.setAlignment(Pos.CENTER);
bv.setBackground(bGround);
Scene sc = new Scene(bv, 500, 600);
stage.setScene(sc);
}
// 学生信息查询界面
static void query() {
BorderPane bp = new BorderPane();
// 顶部
FlowPane fp1 = new Flo
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
System.zip (32个子文件)
System
lib
mysql-connector-java-5.1.48.jar 983KB
image
bg1.jpg 71KB
bg.jpg 340KB
src
sample
View.java 39KB
Main.java 126B
Student.java 3KB
Connect.java 13KB
JavaFX.iml 760B
系统结构图.xmind 51KB
out
production
JavaFX
sample
View.class 33KB
Student.class 3KB
Main.class 413B
View$1.class 2KB
View$2.class 2KB
Connect.class 11KB
META-INF
JavaFX.kotlin_module 16B
.idea
dataSources
5574324a-1ddb-47ad-b55a-966ad90fd972
storage_v2
_src_
schema
information_schema.FNRwLQ.meta 76B
5574324a-1ddb-47ad-b55a-966ad90fd972.xml 34KB
dataSources.local.xml 974B
description.html 189B
uiDesigner.xml 9KB
artifacts
libraries
javafx_swt.xml 627B
vcs.xml 173B
workspace.xml 18KB
misc.xml 409B
dataSources.xml 578B
compiler.xml 734B
modules.xml 259B
gradle.xml 142B
.gitignore 184B
encodings.xml 164B
学生信息管理系统ER图.png 71KB
共 32 条
- 1
资源评论
木易小熙
- 粉丝: 392
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功