下面就让我们进入真正的程序编写部分。
3.2 初始界面设计
初始界面如图3.3所示。
图3.3 初始界面示意图
Form名称为STyping,包含两个jLabel、两个jButton。jLabel用于显示文字,没有特殊功能,jButton含有相关Event代码。
功能解析:点击“注册”按钮进入注册界面,点击“登陆”按钮进入登陆界面。
3.3 用户注册界面的设计
用户注册界面如图3.4所示。
图3.4 用户注册界面示意图
Form名称为RType,包含751个jLabel、三个jButton、五个jTextField。jLabel用于显示文字,没有特殊功能,jButton含有相关Event代码, jTextField用于填写相关信息,本身不含事件但其中内容会被调用。
功能解析:在文本框中输入对应信息,单击“检测用户名”按钮可以查看用户名是否有重复,单击“确认注册”按钮可以将自己注册的用户信息插入数据库中完成注册,单击“返回初始界面”按钮可以返回初始界面。
接下来贴出关键代码。
(1) 确认注册,向数据库中插入注册信息(jButton1事件):
//确认注册,插入注册信息
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
//判断两次输入的密码是否一致
if (jTextField2.getText().equals(jTextField3.getText()) == false) { JOptionPane.showMessageDialog(this, "两次密码输入不一致,请重新输入");
jTextField2.setText(null);
jTextField3.setText(null);
} else { //判断是否完整填写信息
if (jTextField1.getText().equals("")
|| jTextField4.getText().equals("")
|| jTextField5.getText().equals("")) {
JOptionPane.showMessageDialog(this, "必须填满所有信息,请完整填写"); } else {
//开始进入数据库连接环节
// 1. 注册驱动
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace(); }
//先定义变量,后使用和关闭
java.sql.Connection conn = null;//数据库连接
java.sql.Statement stmt = null;//数据库表达式
java.sql.ResultSet rs = null;//结果集
try { // 2. 获取数据库的连接
conn = java.sql.DriverManager.getConnection(
"jdbc:derby://localhost:1527/myeclipse", 智能交互式指法练习系统的设计和开发(5):http://www.751com.cn/jisuanji/lunwen_7815.html