高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(二)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(一)

[高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(二)](当前位置)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(三)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(四)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(五)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(六)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(七)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(八)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(九)

更多项目逐句吐血精讲在这里,加油ヾ(◍°∇°◍)ノ゙!!

项目效果图

功能点实现

  1. 实现学生信息的录入
  2. 实现学生信息的修改
  3. 实现学生信息的更新
  4. 实现学生信息的删除
  5. 添加快捷键使用,方便快速管理
  6. 使用javafx+fxml+css控制ui样式
  7. 实现以javafx内部api调用绘制字体特效,无需额外资源调度
  8. 实现软件图标自定义,增加软件美观度
  9. 实现拖动窗口即可移动,使更加人性化
  10. 实现软件英文化,增加可交流性
  11. 禁用窗口缩放功能,防止ui碰撞
  12. 添加作者、主页、关闭按钮
  13. 增加事务弹窗,给予正确提示及错误解决方案

内部优化

  1. 使用分装思想,将功能块拆分,设立CreateMenu类,统一添加
  2. 封装错误与信息提示框,统一布局格式
  3. 封装数据库连接类,无需重复调度
  4. 采用Lambda表达式绑定事件,无需重写类
  5. 使用fxml模块化设计标签,方便增改
  6. 采用css设置样式,统一管理
  7. 去除不必要的类public,增加软件安全性
  8. 利用SceneBuilder绘制生成fxml控件,提升编写效率
  9. 采用不同尺寸图标格式适应多种运行状态

类结构示例

在这里插入图片描述

菜单栏编写

1、在createBorderPane中添加

在borderPane的Top添加菜单栏

borderPane.setTop(createMenuBar(borderPane));
 private BorderPane createBorderPane() {
        BorderPane borderPane = new BorderPane();
        borderPane.setTop(createMenuBar(borderPane));
        borderPane.setCenter(new TextMain().createText());
        return borderPane;
}

但是我们还没有createMenuBar函数,我们继续创建

2、创建Menu

创建一个放Menu的地方MenuBar:

MenuBar menuBar = new MenuBar();

再创建一大堆Menu,我们先写个类CreateMenu 用来创建Menu ,一会我们创建CreateMenu 类:

CreateMenu createMenu = new CreateMenu();

然后把那些菜单添加到面板上

下面这些还都没有创建,我们下一步就开始创建

这些名字都是自己启的,大家随便写

  • createMenuInformationEntry:创建菜单栏—插入操作
  • createMenuInformationSearch:创建菜单栏—搜索操作
  • createMenuInformationUpdate:创建菜单栏—更新操作
  • createMenuInformationDelete:创建菜单栏—删除操作
  • createMenuInformationSystem:创建菜单栏—主页操作
menuBar.getMenus().addAll(createMenu.createMenuInformationEntry(borderPane),
            createMenu.createMenuInformationSearch(borderPane), createMenu.createMenuInformationUpdate(borderPane),
            createMenu.createMenuInformationDelete(borderPane), createMenu.createMenuInformationSystem(borderPane));

合起来就是:

private MenuBar createMenuBar(BorderPane borderPane) {
    MenuBar menuBar = new MenuBar();
    CreateMenu createMenu = new CreateMenu();
    menuBar.getMenus().addAll(createMenu.createMenuInformationEntry(borderPane),
            createMenu.createMenuInformationSearch(borderPane), createMenu.createMenuInformationUpdate(borderPane),
            createMenu.createMenuInformationDelete(borderPane), createMenu.createMenuInformationSystem(borderPane));
    return menuBar;
}

3、书写CreateMenu类

我们新建一个CreateMenu类,把上面自己写的函数类写出来

我们可以先创建一个Menu 类,然后把名字传进去

Menu menu = new Menu("Information Entry");
class CreateMenu {
	Menu createMenuInformationEntry(BorderPane borderPane) {
		Menu menu = new Menu("Information Entry");
		return menu;
	}

	Menu createMenuInformationSearch(BorderPane borderPane) {
		Menu menu = new Menu("Information Search");
		return menu;
	}

	Menu createMenuInformationUpdate(BorderPane borderPane) {
		Menu menu = new Menu("Information Update");
		return menu;
	}

	Menu createMenuInformationDelete(BorderPane borderPane) {
		Menu menu = new Menu("Information Delete");
		return menu;
	}

	Menu createMenuInformationSystem(BorderPane borderPane) {
		Menu menu = new Menu("System");
		return menu;
	}
}

我们运行就会看到结果,上面多了一行菜单栏

在这里插入图片描述

4、为菜单栏添加更多的内容

在创建名称的时候加一个下划线“_”就可以指定快捷键

Menu menu = new Menu("Information _Entry");
setMnemonicParsing:激活快捷键

接下来我们开配置点开菜单里面的字菜单
在这里插入图片描述

MenuItem menuItem = new MenuItem("Entry");

最后,我们把这个小菜单添加到大菜单里面

menu.getItems().addAll(menuItem);

那么一个就做好了:

Menu createMenuInformationEntry(BorderPane borderPane) {
		Menu menu = new Menu("Information _Entry");
		menu.setMnemonicParsing(true); // 设置快捷键有效
		MenuItem menuItem = new MenuItem("Entry");
		menu.getItems().addAll(menuItem);
		
		return menu;
}

5、以同样的方法做出其他的菜单

Menu createMenuInformationSearch(BorderPane borderPane) {
		Menu menu = new Menu("Information _Search");
		menu.setMnemonicParsing(true); // 设置快捷键有效
		MenuItem menuItem = new MenuItem("Search");
		menu.getItems().addAll(menuItem);
		
		return menu;
}

在这里插入图片描述

Menu createMenuInformationUpdate(BorderPane borderPane) {
		Menu menu = new Menu("Information _Update");
		menu.setMnemonicParsing(true); // 设置快捷键有效
		MenuItem menuItem = new MenuItem("Update");
		menu.getItems().addAll(menuItem);
		return menu;
}

在这里插入图片描述

Menu createMenuInformationDelete(BorderPane borderPane) {
		Menu menu = new Menu("Information _Delete");
		menu.setMnemonicParsing(true); // 设置快捷键有效
		MenuItem menuItem = new MenuItem("Delete");
		menu.getItems().addAll(menuItem);
		return menu;
}

在这里插入图片描述

Menu createMenuInformationSystem(BorderPane borderPane) {
	Menu menu = new Menu("S_ystem");
	menu.setMnemonicParsing(true); // 设置快捷键有效
	MenuItem menuItem1 = new MenuItem("Home");
	MenuItem menuItem2 = new MenuItem("Off");
	MenuItem menuItem3 = new MenuItem("Author");
	return menu;
}

在这里插入图片描述

6、我们就完成了菜单栏的创建

class CreateMenu {
	Menu createMenuInformationEntry(BorderPane borderPane) {
		Menu menu = new Menu("Information _Entry");
		menu.setMnemonicParsing(true); // 设置快捷键有效
		MenuItem menuItem = new MenuItem("Entry");
		menu.getItems().addAll(menuItem);
		
		return menu;
	}

	Menu createMenuInformationSearch(BorderPane borderPane) {
		Menu menu = new Menu("Information _Search");
		menu.setMnemonicParsing(true); // 设置快捷键有效
		MenuItem menuItem = new MenuItem("Search");
		menu.getItems().addAll(menuItem);
		
		return menu;
	}

	Menu createMenuInformationUpdate(BorderPane borderPane) {
		Menu menu = new Menu("Information _Update");
		menu.setMnemonicParsing(true); // 设置快捷键有效
		MenuItem menuItem = new MenuItem("Update");
		menu.getItems().addAll(menuItem);
		return menu;
	}

	Menu createMenuInformationDelete(BorderPane borderPane) {
		Menu menu = new Menu("Information _Delete");
		menu.setMnemonicParsing(true); // 设置快捷键有效
		MenuItem menuItem = new MenuItem("Delete");
		menu.getItems().addAll(menuItem);
		return menu;
	}

	Menu createMenuInformationSystem(BorderPane borderPane) {
		Menu menu = new Menu("S_ystem");
		menu.setMnemonicParsing(true); // 设置快捷键有效
		MenuItem menuItem1 = new MenuItem("Home");
		MenuItem menuItem2 = new MenuItem("Off");
		MenuItem menuItem3 = new MenuItem("Author");
		return menu;
	}
}

关注后续章节,我们会添加更多功能:

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(一)

[高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(二)](当前位置)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(三)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(四)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(五)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(六)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(七)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(八)

高颜值数据库项目实战MySQL+JavaFX+Fxml+CSS(完整精讲解版+源代码)(九)

后记

更多项目逐句吐血精讲在这里,加油ヾ(◍°∇°◍)ノ゙!!

C语言飞机大战小游戏(2万字!完整精讲解版+源代码)

Java是一种高级编程语言,它被广泛应用于开发各种类型的应用程序。Java具有简单易学、跨平台和面向对象等特点,使得它成为了开发者首选的编程语言之一。 MySQL是一种流行的关系型数据库管理系统,它被广泛用于存储和管理大量的数据。MySQL具有稳定性强、支持并发访问和高性能等优点,适合用于开发各种类型的应用程序。 JavaFX是一个用于创建丰富用户界面的框架,它是Java平台的一部分。JavaFX提供了丰富的图形界面组件和样式,可以用于开发漂亮的用户界面。它具有良好的跨平台性能,并且可以与Java语言无缝集成,使得开发者可以通过在Java中编写代码来创建和控制JavaFX界面。 综上所述,JavaMySQLJavaFX三者之间可以实现完整的应用程序开发流程。开发者可以使用Java语言编写程序逻辑,使用MySQL作为数据库进行数据的存储和管理,并使用JavaFX创建漂亮的用户界面,以方便用户的交互操作。由于Java语言的跨平台性,开发出的应用程序可以在不同的操作系统上运行,加上MySQL的高性能和JavaFX的美观性,使得应用程序具有良好的用户体验。 总之,JavaMySQLJavaFX是三个相互配合的工具,可以实现全面的应用程序开发。它们在不同的方面提供了有效的解决方案,为开发者创造了更好的开发环境,使得开发出的应用程序更加强大和具有吸引力。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值