下面是“java实现学生信息录入界面”的完整攻略。
步骤一:创建GUI界面
Java的GUI界面可以使用Swing或JavaFX实现。这里我们以Swing为例。
示例一
以下代码展示了如何使用Swing创建一个简单的GUI界面,包含一个文本框和一个按钮:
import javax.swing.*;
public class StudentInfoGUI extends JFrame {
private JTextField textField;
private JButton button;
public StudentInfoGUI() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("学生信息录入");
setSize(300, 200);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
getContentPane().add(panel);
textField = new JTextField(20);
panel.add(textField);
button = new JButton("保存数据");
panel.add(button);
setVisible(true);
}
}
示例二
下面是一个更加完整的例子,展示了如何在Swing中创建一个带有表格的GUI界面。这个例子演示了如何将学生信息(姓名、年龄、性别)添加到表格中。
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class StudentInfoGUI extends JFrame {
private JTable table;
private JButton addButton;
public StudentInfoGUI() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("学生信息录入");
setSize(400, 300);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
getContentPane().add(panel);
String[] columnNames = {"姓名", "年龄", "性别"};
Object[][] data = {};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
table = new JTable(model);
JScrollPane scrollPane = new JScrollPane(table);
panel.add(scrollPane);
addButton = new JButton("添加学生");
addButton.addActionListener(event -> addStudent());
panel.add(addButton);
setVisible(true);
}
private void addStudent() {
String name = JOptionPane.showInputDialog("请输入姓名:");
int age = Integer.parseInt(JOptionPane.showInputDialog("请输入年龄:"));
String gender = JOptionPane.showInputDialog("请输入性别:");
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.addRow(new Object[]{name, age, gender});
}
}
步骤二:使用MySQL数据库存储数据
Java中常用的数据库有MySQL、Oracle、SQL Server等。这里我们以MySQL为例。
示例一
以下代码展示了如何使用Java连接MySQL数据库并执行一条简单的查询:
import java.sql.*;
public class MySQLDemo {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "root");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM students");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String gender = rs.getString("gender");
System.out.println(id + ", " + name + ", " + age + ", " + gender);
}
conn.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
示例二
下面是一个更加完整的例子,展示了如何将学生信息存储到MySQL数据库中。这个例子使用了JDBC连接数据库。
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class StudentInfoGUI extends JFrame {
private JTable table;
private JButton addButton;
public StudentInfoGUI() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("学生信息录入");
setSize(400, 300);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
getContentPane().add(panel);
String[] columnNames = {"姓名", "年龄", "性别"};
Object[][] data = {};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
table = new JTable(model);
JScrollPane scrollPane = new JScrollPane(table);
panel.add(scrollPane);
addButton = new JButton("添加学生");
addButton.addActionListener(event -> addStudent());
panel.add(addButton);
setVisible(true);
}
private void addStudent() {
String name = JOptionPane.showInputDialog("请输入姓名:");
int age = Integer.parseInt(JOptionPane.showInputDialog("请输入年龄:"));
String gender = JOptionPane.showInputDialog("请输入性别:");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "root");
PreparedStatement stmt = conn.prepareStatement("INSERT INTO students (name, age, gender) VALUES (?, ?, ?)");
stmt.setString(1, name);
stmt.setInt(2, age);
stmt.setString(3, gender);
stmt.executeUpdate();
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.addRow(new Object[]{name, age, gender});
conn.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage(), "错误", JOptionPane.ERROR_MESSAGE);
}
}
}
这个例子使用了JDBC(Java Database Connectivity)连接数据库,可以在程序中执行SQL语句。在addStudent方法中,我们使用了PreparedStatement对象来避免SQL注入攻击。同时,如果出现异常,我们会弹出一个错误对话框来提示用户。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现学生信息录入界面 - Python技术站