在这个信息化的时代,电子同学录因其方便携带、易于管理等特点,越来越受到大家的喜爱。而Java作为一门强大的编程语言,可以轻松帮助我们实现电子同学录的编写。下面,就让我带你从零开始,轻松打造一款个性化的电子同学录吧!
一、准备工作
在开始编写电子同学录之前,我们需要做好以下准备工作:
- 开发环境:安装Java开发工具包(JDK)和集成开发环境(IDE),如IntelliJ IDEA或Eclipse。
- 数据库:选择合适的数据库,如MySQL、SQLite等,用于存储同学信息。
- 界面设计:使用Swing或JavaFX等图形界面库设计用户界面。
二、设计数据库
首先,我们需要设计数据库来存储同学信息。以下是一个简单的同学信息表结构:
CREATE TABLE classmates (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
gender ENUM('男', '女') NOT NULL,
class VARCHAR(50) NOT NULL,
phone VARCHAR(20),
email VARCHAR(50),
address VARCHAR(100)
);
三、编写Java代码
1. 连接数据库
使用JDBC连接数据库,以下是一个简单的连接示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseUtil {
public static Connection getConnection() throws SQLException {
String url = "jdbc:mysql://localhost:3306/classmates";
String user = "root";
String password = "root";
return DriverManager.getConnection(url, user, password);
}
}
2. 创建同学信息表
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class CreateTable {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DatabaseUtil.getConnection();
String sql = "CREATE TABLE classmates (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, gender ENUM('男', '女') NOT NULL, class VARCHAR(50) NOT NULL, phone VARCHAR(20), email VARCHAR(50), address VARCHAR(100))";
pstmt = conn.prepareStatement(sql);
pstmt.executeUpdate();
System.out.println("创建同学信息表成功!");
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
3. 设计用户界面
使用Swing库设计用户界面,以下是一个简单的界面示例:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MainFrame extends JFrame {
private JTextField nameField;
private JTextField phoneField;
private JTextField emailField;
private JTextField addressField;
public MainFrame() {
setTitle("电子同学录");
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(5, 2));
add(new JLabel("姓名:"));
nameField = new JTextField();
add(nameField);
add(new JLabel("性别:"));
JComboBox<String> genderComboBox = new JComboBox<>(new String[]{"男", "女"});
add(genderComboBox);
add(new JLabel("班级:"));
JTextField classField = new JTextField();
add(classField);
add(new JLabel("电话:"));
phoneField = new JTextField();
add(phoneField);
add(new JLabel("邮箱:"));
emailField = new JTextField();
add(emailField);
add(new JLabel("地址:"));
addressField = new JTextField();
add(addressField);
JButton addButton = new JButton("添加");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
addClassmate();
}
});
add(addButton);
}
private void addClassmate() {
String name = nameField.getText();
String gender = (String) genderComboBox.getSelectedItem();
String classStr = classField.getText();
String phone = phoneField.getText();
String email = emailField.getText();
String address = addressField.getText();
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DatabaseUtil.getConnection();
String sql = "INSERT INTO classmates (name, gender, class, phone, email, address) VALUES (?, ?, ?, ?, ?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, gender);
pstmt.setString(3, classStr);
pstmt.setString(4, phone);
pstmt.setString(5, email);
pstmt.setString(6, address);
pstmt.executeUpdate();
System.out.println("添加同学成功!");
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new MainFrame().setVisible(true);
}
});
}
}
四、个性化定制
为了让电子同学录更具个性化,你可以根据需求添加以下功能:
- 主题风格:使用Swing的
LookAndFeel和Theme类,为电子同学录设置不同的主题风格。 - 图片展示:在同学信息中添加图片字段,并显示同学的照片。
- 搜索功能:根据姓名、班级、性别等条件,快速搜索同学信息。
- 数据导出:将同学信息导出为Excel、CSV等格式。
通过以上步骤,你就可以轻松地打造一款个性化的电子同学录。希望这篇文章能帮助你入门Java编程,并在实践中不断积累经验。祝你编程愉快!
