java电话簿管理,用javafx实现的图形界面,怎样将数据保存到数据库啊,有没有详细步骤,啥也不会
https://www.cnblogs.com/jffx/p/9911968.html
打开FXML文件,绑定控制器
右击FXML文件——Open In SceneBuilder 打开JavaFX Scene Builder工具
从左侧工具列表中的Controls中拖出Label控件到中间舞台上,设置Text为:登陆界面,可以用鼠标拖动放置合适的位置,Font中可以更变字体大小和样式
重复步骤3,完成账号和密码的Label创建和设置
从左侧工具列表中的Controls中拖出TextField控件到中间舞台上
从左侧工具列表中的Controls中拖出PasswordField控件到中间舞台上
从左侧工具列表中的Controls中拖出Button控件到中间舞台上,并设置按钮文字
把登录按钮设置Id:Bt_1,就可以通过Bt_1来引用该控件
把登录按钮绑定toLog的事件方法,当该按钮被点击时,事件触发,调用该方法
预览效果,Preview——Show Preview In Window
同步到项目中的FXML文件中,File——Save,FXML会自动生成相应的代码
编写事件方法
运行
首先,您需要使用JavaFX创建一个电话簿管理系统的界面。您可以使用FXML文件来定义界面的布局和组件,然后在Java代码中加载该FXML文件并与相应的控制器进行绑定。
以下是创建JavaFX电话簿管理系统的界面的代码示例:
public class PhoneBookApp extends Application {
public void start(Stage primaryStage) throws Exception {
FXMLLoader loader = new FXMLLoader(getClass().getResource("phonebook.fxml"));
Parent root = loader.load();
primaryStage.setTitle("Phone Book");
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
在上述代码中,我们使用FXMLLoader
来加载名为phonebook.fxml
的FXML文件,并使用该文件的根节点来创建一个Scene
并设置到Stage
中,最后显示Stage
。
接下来,您需要在FXML文件中定义电话簿管理系统的界面布局和组件。以下是一个简单的示例:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.VBox?>
<VBox spacing="10" alignment="center" xmlns="http://javafx.com/javafx/15.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.PhoneBookController">
<Label text="Name" />
<TextField fx:id="nameTextField" />
<Label text="Phone" />
<TextField fx:id="phoneTextField" />
<Button text="Save" onAction="#saveContact" />
</VBox>
在上述代码中,我们使用VBox
布局将标签、文本字段和按钮垂直排列,并设置了一些属性如间距和对齐方式。利用fx:controller
属性指定了控制器类的路径。
接下来,您需要为每个FXML文件中的组件创建相应的控制器类。以下是一个示例:
public class PhoneBookController {
@FXML
private TextField nameTextField;
@FXML
private TextField phoneTextField;
public void saveContact(ActionEvent event) {
String name = nameTextField.getText();
String phone = phoneTextField.getText();
// 将数据保存到数据库中的代码
}
}
在上述代码中,我们使用@FXML
注释来注入FXML文件中定义的组件,并为保存按钮的onAction
事件方法编写了一个saveContact
方法。在这个方法中,我们可以通过文本字段的getText
方法获取用户输入的数据,并将其保存到数据库中。
至于如何将数据保存到数据库中,这涉及到与数据库进行连接和操作的细节,这取决于您使用的数据库类型和相关的Java数据库连接库。一般来说,您需要进行以下步骤:
以下是一个使用MySQL数据库并使用JDBC进行连接和操作的示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class PhoneBookController {
// 省略其他代码
public void saveContact(ActionEvent event) {
String name = nameTextField.getText();
String phone = phoneTextField.getText();
// 设置数据库连接信息
String url = "jdbc:mysql://localhost:3306/phonebook";
String username = "root";
String password = "password";
try {
// 创建数据库连接
Connection connection = DriverManager.getConnection(url, username, password);
// 创建插入语句
String sql = "INSERT INTO contacts (name, phone) VALUES (?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, name);
statement.setString(2, phone);
// 执行插入语句
int rowsAffected = statement.executeUpdate();
if (rowsAffected > 0) {
System.out.println("Contact saved successfully");
} else {
System.out.println("Failed to save contact");
}
// 关闭连接和相关资源
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
上述代码中,我们使用了JDBC库来连接MySQL数据库并执行插入语句。我们通过使用PreparedStatement
来创建带有占位符的插入语句,并使用setString
方法来设置占位符的值。然后,我们使用executeUpdate
方法来执行插入语句,并获取受影响的行数。根据执行结果,我们可以打印相应的提示信息。
请注意,在实际开发中,您需要根据您使用的数据库类型和相关的Java数据库连接库的文档来了解更多关于连接和操作数据库的细节。
总结一下,要用JavaFX实现电话簿管理系统并将数据保存到数据库中,您需要以下步骤: 1. 使用JavaFX创建电话簿管理系统的界面,可以使用FXML文件定义界面布局和组件。 2. 在Java代码中加载FXML文件并与相应的控制器进行绑定。 3. 为每个FXML文件中的组件创建相应的控制器类,并在控制器类中编写事件处理方法。 4. 在事件处理方法中获取用户输入的数据,并将其保存到数据库中。
希望能对您有帮助!如果您有任何问题,请随时提问。