在设计学生信息管理系统中,学生信息表tb_student中,出生日期 stuBirthday字段设置为了 Date类型。
但在用Java设计界面,获取出生日期字段,实现学生信息插入时,总是出错,不能实现,查阅网上资料,最后是这样解决的。
1. 首先,在学生实体类中,Student中,
private Date stuBirthday;
注意:导入的Date类 : import java.sql.Date;
2. 定于JTextField组件变量
JTextField jtfStuBirthday;
3. 制作出生日期组件,注意红色字体,是设置出生日期文本框日期格式
//第2行组件
jlbStuBirthday.setText("出生日期:");
jlbStuId.setFont(new Font("Dialog", 0, 12));
girdBagCon = new GridBagConstraints();
girdBagCon.gridx = 0;
girdBagCon.gridy = 2;
girdBagCon.insets = new Insets(0, 10, 10, 1);
girdBag.setConstraints(jlbStuBirthday, girdBagCon);
centerPanel.add(jlbStuBirthday);
girdBagCon = new GridBagConstraints();
girdBagCon.gridx = 1;
girdBagCon.gridy = 2;
girdBagCon.insets = new Insets(0, 1, 10, 10);
//定于日期显示格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//设置出生日期文本框显示日期的格式为sdf定义的格式
jtfStuBirthday = new JFormattedTextField(sdf.getDateInstance());//将文本框格式化为指定日期格式
//给出一个日期格式例子,标明如期输入格式
girdBag.setConstraints(jtfStuBirthday, girdBagCon);
centerPanel.add(jtfStuBirthday);
4. 在监听器中,首先获取界面出生日期文本框中的出生日期,赋值给一个字符串变量。
//获取出生日期文本框中日期文本,先赋值给一个字符串变量
String stuBir = jtfStuBirthday.getText().trim();
5. 构建要插入的学生Student对象 ,注意,出生日期 字段,要将从文本框中获取的字符串stuBir,转换成 java.sql.Date类型
//创建学生信息对象
Student student = new Student(stuId, stuNo, stuName, stuSex,
java.sql.Date.valueOf(stuBir), stuNumber, stuTel, stuAddress,
stuScore, dId, stuGrade, stuSpecialty, stuClass, tId);
studentBiz.add(student);
//调用添加方法
注意: 在界面类中,Date类,导入也是 import java.sql.Date;