刚刚结束了小学期,在这里我想借助我的一个小项目——班级通讯录管理系统,谈谈我的一些想法和学习心得。这个项目在IDEA开发,使用MySQL作为数据库,使用JavaFx SenceBuilder设计界面。所以我想借助这个项目帮助初学者了解idea中数据库的连接和javafx的简单使用。
项目地址:https://github.com/yfengl/address,(文章虽然没写完,但是项目是写完整了的).
软件
编辑器:IDEA2020.1
JDK版本:1.8.0_251
数据库:MySQL 8.0.20
其他:JavaFx SenceBuilder 2.0
项目创建
打开IDEA,创建一个新的项目,选择Java FX项目,选择jdk并设置项目名。创建好的项目大概这样:
设计界面
新建一个包resources用来放我们的fxml文件。在这个包中新建一个fxml文件,我们命名为adressList.fxml。
选择addressList.fxml,右键选择open in SenceBuilder:
然后可以在Sence Builder编辑自己的界面:
这是我的界面:
这里我就设置两个按键(更新和添加)的功能为例。选中更新这个按键,点击右边的Code那栏,在fx:id中写下它的变量名,即为代码中使用的变量名,添加功能也是一样,选中,修改fx:id
一切设计好后,先保存,然后选择View->Show sample…然后把代码复制;
Controller代码编写
回到IDEA,新建一个包adress和类AddressList,把刚刚复制的代码粘贴到这个类;让AddressList类继承于Application并添加satrt()方法,main()方法以及一个初始化方法initialize()
按钮响应
在initialize()方法中,如添加方法,其fx:id为add,其响应方式为
大括号中为响应执行事件;即fx:id.setOnAction(e->{ });
数据库
建议下载项目自己学习把!
主要代码
AddressList.java
public class AddressList extends Application {
@FXML
private TableView<Student> tableView;
@FXML
private TableColumn<?,?> deleteCol,updateCol;
@FXML
private TableColumn<?,?> numberCol;
@FXML
private TableColumn<?,?> classCol,mailCol,telCol,nameCol;
@FXML
private Button add,check,about,file,updateStudent;
@FXML
private TextField fileName,checkID,message;
private final StudentDao sDao=new StudentDao();
private static Stage stage;
public int updateId;
public void initialize() {
try {
getStudentList("getStudentsList()");
} catch (SQLException e1) {
e1.printStackTrace();
}
updateStudent.setOnAction(e->{
message.setText("updateStudent");
try {
getStudentList("getStudentsList()");
} catch (SQLException se) {
se.printStackTrace();
}
});
file.setOnAction(e->{