写一个基于java+swing+mysql北方传统民居信息管理系统
时间: 2023-07-29 14:12:52 浏览: 120
当然可以!下面是一个简单的示例代码,实现了一个基于Java+Swing+MySQL的北方传统民居信息管理系统:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
public class TraditionalHouseInfoManagementSystem extends JFrame {
private JTextField tfHouseName;
private JTextField tfLocation;
private JButton btnAddHouse;
private JTextArea taHouseList;
private Connection conn;
public TraditionalHouseInfoManagementSystem() {
setTitle("北方传统民居信息管理系统");
setSize(500, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建数据库连接
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/house_info", "root", "password");
} catch (SQLException e) {
e.printStackTrace();
}
// 创建界面元素
tfHouseName = new JTextField();
tfLocation = new JTextField();
btnAddHouse = new JButton("添加民居");
taHouseList = new JTextArea();
// 设置布局
setLayout(new BorderLayout());
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(3, 2));
panel.add(new JLabel("民居名称:"));
panel.add(tfHouseName);
panel.add(new JLabel("所在地:"));
panel.add(tfLocation);
panel.add(btnAddHouse);
add(panel, BorderLayout.NORTH);
add(new JScrollPane(taHouseList), BorderLayout.CENTER);
// 添加按钮点击事件
btnAddHouse.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String houseName = tfHouseName.getText();
String location = tfLocation.getText();
if (houseName.isEmpty() || location.isEmpty()) {
JOptionPane.showMessageDialog(null, "请填写民居名称和所在地");
return;
}
try {
// 将民居信息插入数据库
PreparedStatement stmt = conn.prepareStatement("INSERT INTO houses (name, location) VALUES (?, ?)");
stmt.setString(1, houseName);
stmt.setString(2, location);
stmt.executeUpdate();
// 更新民居列表
updateHouseList();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
});
// 初始化民居列表
updateHouseList();
}
private void updateHouseList() {
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM houses");
StringBuilder sb = new StringBuilder();
while (rs.next()) {
sb.append(rs.getString("name")).append(", ").append(rs.getString("location")).append("\n");
}
taHouseList.setText(sb.toString());
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
TraditionalHouseInfoManagementSystem system = new TraditionalHouseInfoManagementSystem();
system.setVisible(true);
}
});
}
}
```
这个示例代码创建了一个窗口界面,可以输入北方传统民居的名称和所在地,并将其存储到MySQL数据库中。同时,在界面上展示了已添加的民居列表。
请确保你已经安装了Java开发环境,并且在MySQL中创建了名为"house_info"的数据库,并且有一个名为"houses"的表,表结构包含"name"和"location"两个字段。
请注意,这只是一个简单的示例,实际的系统可能需要更多功能和完善的错误处理。希望对你有帮助!如有任何问题,请随时提问。