版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业最后的结果是这个画面,过于简略,也是限于时间和能力了。前言由于二妹前一阵子要写一个简易的学生信息管理系统做毕业设计,要求我用MySQL数据库、Java和Eclipse替她写个小程序交。这个文档是为了记录一个过程,供有需要的java学习者学习和参考。1,安装虚拟机VMware12(为了安装win10系统)2,安装windows10系统(妹子的笔记本系统是win10)3,安装Java【jdk1.8.0_91和jre1.8.0_91】4,安装Microsoft.NET4.0.
2、exe插件(不安装,MySQL软件会报错)5,安装 MySQL 5.7.12,安装Navicat.企业版用于图形化开发y,安装 MyEclipse 2016 CI和mysql-connector-java-5.1.39.zip插件,程序开发,利用MyEclipse 2016 CI,java编程,并连接数据库。1安装虚拟机VM122在虚拟机中,安装windows10_x64系统企业版启用共享文件夹功能,方便主机硬盘里面的文件能够在虚拟机系统里面直接使用,不必复制到虚拟机硬盘里面。3,安装Java【jdk-8u91-windows-x64.exe】在虚拟机系统win10里面安装和配置java环境变
3、量。配置环境变量:-此电脑,右击,属性-高级系统设置-环境变量-系统变量-找到Path,编辑如下图,添加jdk和jre的bin目录路径,最前添加.;测试java环境配置:按住Windows键+R键,运行cmd命令,输入java和javac,按回车键出现下面这两个图片的就成功了,Microsoft.NET4.0组件安装组件在网上下载安装,再安装MySQL,就不会报错。5,安装 mysql-installer-community-.msi选择只安装MySQL服务器,其他组件不需要。配置,选择Server Machine,剩下的都默认密码:lindejun开始菜单,找到安装的MySQ
4、L菜单。测试安装成功如下图:,安装Navicat11.0.9企业版,网上有破解版下载。该软件方便进行MySQL数据库图形式的创建和修改查询表的信息等。,安装 MyEclipse 2016 CI安装完成,下载myeclipse2016crack.zip破解以下就无限期使用了,也可以暂时不用破解,有天的使用权限。设置默认工作目录,就是以后你写的工程代码都保存的位置,不建议在盘,由于虚拟机系统安装的时候没分区,就一个盘,这里先将就了。启动的很慢(毕竟不在地球上),给它一点爬行的时间吧。好了,这个就是以后新建java工程的工具了8S,ManageStudents数据库开发S1,打开Navicate f
5、or MySQL软件,建立与MySQL服务器的连接。文件-新建连接输入密码(我这边的MySQL数据库安装时设定的密码是:lindejun)点击测试连接,显示连接成功!上图主机名默认的localhost如果连接不成功,改成上图的IP:S2,双击下图中的MySQL服务器,可以看到当前的MySQL服务器上面有哪些数据库:S3,新建数据库StudentsManager和表格右击上图中的MySQL服务器,新建数据库,输入数据库名StudentsManager双击数据库ManageStudents,右击表,新建表新建三个表格:StudentsInfo、Classinfo、Departme
6、ntInfo。分别是学生信息表、班级表、部门系表。学生信息表如下图选择学号那行,添加主键:点击黄色的钥匙图标,完成后保存为StudentsInfo。班级表系部门表S4,添加数据到表中,例如学生表插入一条数据:点击查询,新建查询,输入下面的语句,点击运行,就插入一条记录了。Insert into StudentsInfo values(,李阳,男,1996-11-22,江苏,);其中学号,最后两位表示部门系号,1-6位表示学号,如7-8位的数字表示系号,9-10表示在班级的第几个学生。用SELECT命令,查看一下是否插入成功:以文本方式把多条记录插入数据库的表中mysql load data l
7、ocal infile C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/SM_studentinfo.txt into table studentsinfo;创建一个文本文件“SM_studentinfo.txt”,放在C:/ProgramData/MySQL/MySQL Server 5.7/Uploads文件夹下,每行包含一个记录,每一项之间用Tab键进行分隔,如果该字段为空,则用NULL表示,并且以在学生信息表中列出的列次序给出,例如: 张川男1990-06-08河南01马伟男1992-02-18江苏02刘邦男1987-11-25北京03李彤女
8、1991-09-22浙江04胡红女1990-09-08河北05端木川男1993-08-07新疆07首先,这个文本文件保存的时候,编码选择UTF-8,最好用EditPlus文本编辑器保存,会有选择UTF-8编码。否则可能会报错:ERROR 1300 (HY000): Invalid utf8 character string: students.txt文件不放在C:ProgramDataMySQLMySQL Server 5.7Uploads这个目录里面,会遇到错误:ERROR 1290 (HY000): The MySQL server is running with the -secure-
9、file-priv option so it cannot execute this statement这个错误是:mysql默认对”C:ProgramDataMySQLMySQL Server 5.7Uploads”,这个文件夹内的文件可以操作,如需修改目录为C :/,请打开my.ini文件修改路径。修改为:Secure-file-priv=”c:/”就可以加载在C盘下的文件了。重启一下MySQL服务,运行services.msc,打开服务,找到MySQL57重启动此服务。【这里我没有修改,还是按默认的文件夹uploads】剩下的两个表格的数据插入,同上方法。这里不做详细写出。9M,新建一个
10、Java项目:学生信息管理系统StudentsManager。JavaProjectnextProjectName,此处填写:StudentsManager配置,如上图,选择。点击ConfigureJRE如下图点击Add下图的Directory目录为刚才安装的Java目录最后刚刚添加的勾选为默认的,然后ok点击finish,完成创建配置JDBC驱动,连接MySQL数据库,添加mysql-connector-java-5.1.39.jar下载mysql-connector-java-5.1.39.zip,解压到盘下,改名mysqlconnectorjava,把该目录下的mysql-connect
11、or-java-5.1.39.jar文件添加到StudentsManager工程里,如下图:在,右击StudentsManager,BuildPath,AddExternalArchives完成后如下图:M1,右击StudentsManger,新建一个Java类,StudentsManager,工程Main()方法所在的主类,如下图上图中StudentsManager .java文件代码:/* * 这是学生管理系统的主程序,main(); */导入公共java包import java.awt.*;/import javax.swing.*;/* * author Administrator *
12、 创建日期:2016-06-10 */创建学生管理系统类public class StudentsManager /* * param args */public static void main(String args) /创建主界面窗口MainInterface frame=new MainInterface();/获取屏幕尺寸Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();/获取主界面的窗体尺寸Dimension frameSize =frame.getSize();/令主界面窗体居中if(frameSiz
13、e.heightscreenSize.height)frameSize.height=screenSize.height;if(frameSize.widthscreenSize.width)frameSize.width=screenSize.width;frame.setLocation(screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);/令主界面显示frame.setVisible(true);M2,同上,再新建一个MainInterface类,窗体主界面类MainInterface.j
14、ava文件代码:/系统主界面类/导入系统的包import java.awt.*;import java.awt.event.*;import javax.swing.*;/创建主界面类public class MainInterface extends JFrame implements ActionListenerprivate static final long serialVersionUID = 1L;/创建内容面板JPanel contentPane;/创建菜单栏(见267页的图12.1里的菜单栏)JMenuBar jMenuBarSM=new JMenuBar();JMenu jM
15、enuFile=new JMenu(文件);JMenuItem jMenuFileExit=new JMenuItem(退出);JMenu jMenuStudents=new JMenu(学生信息管理);JMenuItem jMenuStuName=new JMenuItem(按姓名查询);JMenuItem jMenuStuId=new JMenuItem(按学号查询);JMenuItem jMenuAddStu=new JMenuItem(添加学生);JMenuItem jMenuDelStu=new JMenuItem(删除学生);JMenu jMenuClass=new JMenu(班
16、级信息管理);JMenuItem jMenuOnClassId=new JMenuItem(按班级编号查询);JMenuItem jMenuAddClass=new JMenuItem(添加班级);JMenuItem jMenuDelClass=new JMenuItem(删除班级);JMenu jMenuDepartment=new JMenu(部门系信息管理);JMenuItem jMenuOnDepId=new JMenuItem(按部门系编号查询);JMenuItem jMenuAddDep=new JMenuItem(添加部门系);JMenuItem jMenuDelDep=new
17、JMenuItem(删除部门系);JMenu jMenuHelp=new JMenu(帮助);JMenuItem jMenuHelpAbout=new JMenuItem(关于);/创建标签,用于显示信息JLabel jLabel1=new JLabel(欢迎使用学生信息管理系统);JLabel jLabel2=new JLabel(2016年06月20日,林德军);/构造方法,创建对象时自动调用public MainInterface()try/关闭框架窗口时的默认事件方法setDefaultCloseOperation(EXIT_ON_CLOSE);/调用初始化方法jbInit();cat
18、ch(Exception exception)exception.printStackTrace();/界面初始化方法private void jbInit() throws Exception/创建内容面板和其布局contentPane =(JPanel) getContentPane();contentPane.setLayout(null);/框架的大小和其标题setSize(new Dimension(400,320);setTitle(学生信息管理系统);/添加事件监听器jMenuFileExit.addActionListener(this);jMenuHelpAbout.addA
19、ctionListener(this);jMenuAddStu.addActionListener(this);jMenuDelStu.addActionListener(this);jMenuStuName.addActionListener(this);jMenuStuId.addActionListener(this);jMenuOnClassId.addActionListener(this);jMenuAddClass.addActionListener(this);jMenuDelClass.addActionListener(this);jMenuOnDepId.addActio
20、nListener(this);jMenuAddDep.addActionListener(this);jMenuDelDep.addActionListener(this);/添加菜单条setJMenuBar(jMenuBarSM);/添加菜单组件到菜单条jMenuBarSM.add(jMenuFile);jMenuBarSM.add(jMenuStudents);jMenuBarSM.add(jMenuClass);jMenuBarSM.add(jMenuDepartment);jMenuBarSM.add(jMenuFileExit);jMenuBarSM.add(jMenuHelp);
21、/添加菜单项组件到菜单组件jMenuFile.add(jMenuFileExit);/学生信息管理菜单下的选择:按姓名查询,按学号查询,添加学生,删除学生jMenuStudents.add(jMenuStuName);jMenuStudents.add(jMenuStuId);jMenuStudents.add(jMenuAddStu);jMenuStudents.add(jMenuDelStu);/班级信息管理菜单下的选择:按班级号查询,添加班级,删除班级jMenuClass.add(jMenuOnClassId);jMenuClass.add(jMenuAddClass);jMenuCla
22、ss.add(jMenuDelClass);/部门系信息管理菜单下的选择:按系号查询,添加系,删除系jMenuDepartment.add(jMenuOnDepId);jMenuDepartment.add(jMenuAddDep);jMenuDepartment.add(jMenuDelDep);/帮助菜单下的jMenuHelp.add(jMenuHelpAbout);/添加标签到内容面板contentPane.add(jLabel1);contentPane.add(jLabel2);/设置标签组件的大小和字体jLabel1.setFont(new java.awt.Font(宋体,Fon
23、t.BOLD,20);jLabel1.setBounds(new Rectangle(65,70,275,55);jLabel2.setFont(new java.awt.Font(宋体,Font.BOLD,16);jLabel2.setBounds(new Rectangle(90,150,200,35);/菜单事件的处理方法public void actionPerformed(ActionEvent actionEvent)/点击“文件”菜单下的“退出”菜单项if(actionEvent.getSource()=jMenuFileExit)System.exit(0);/点击“学生查询”
24、菜单下的“按姓名查询”菜单项if(actionEvent.getSource()=jMenuStuName)/创建“按姓名查询”面板对象InquireOnStuName onName=new InquireOnStuName();/移除主界面上原有的内容this.remove(this.getContentPane();this.setContentPane(onName);/令界面可见this.setVisible(true);/点击“学生查询”菜单下的“按学号查询”菜单项if(actionEvent.getSource()=jMenuStuId)/创建“按学号查询”面板对象InquireO
25、nStuID onXH=new InquireOnStuID();/移除主界面上原有的内容this.remove(this.getContentPane();this.setContentPane(onXH);/令界面可见this.setVisible(true);/点击“学生管理”菜单下的“添加学生”菜单项if(actionEvent.getSource()=jMenuAddStu)/创建添加学生面板对象AddStudents add=new AddStudents();/移除主界面上原有的内容this.remove(this.getContentPane();this.setContent
26、Pane(add);/令界面可见this.setVisible(true);/点击“学生管理”菜单下的“删除学生”菜单项if(actionEvent.getSource()=jMenuDelStu)/创建删除学生面板对象DelStudents delete=new DelStudents();/移除主界面上原有的内容this.remove(this.getContentPane();this.setContentPane(delete);/令界面可见this.setVisible(true);/点击“班级信息管理”菜单下的“按班级编号查询”菜单项if(actionEvent.getSource
27、()=jMenuOnClassId)/创建“编号查询”面板对象InquireOnClassID onClassId=new InquireOnClassID();/移除主界面上原有的内容this.remove(this.getContentPane();this.setContentPane(onClassId);/令界面可见this.setVisible(true);/点击“班级管理”菜单下的“添加班级”菜单项if(actionEvent.getSource()=jMenuAddClass)/创建添加班级面板对象AddClass addClass=new AddClass();/移除主界面上
28、原有的内容this.remove(this.getContentPane();this.setContentPane(addClass);/令界面可见this.setVisible(true);/点击“班级管理”菜单下的“删除班级”菜单项if(actionEvent.getSource()=jMenuDelClass)/创建删除班级面板对象DelClass delClass=new DelClass();/移除主界面上原有的内容this.remove(this.getContentPane();this.setContentPane(delClass);/令界面可见this.setVisibl
29、e(true);/点击“部门系信息管理”菜单下的“按部门系编号查询”菜单项if(actionEvent.getSource()=jMenuOnDepId)/创建“编号查询”面板对象InquireOnDepID onDepId=new InquireOnDepID();/移除主界面上原有的内容this.remove(this.getContentPane();this.setContentPane(onDepId);/令界面可见this.setVisible(true);/点击“部门系管理”菜单下的“添加部门系”菜单项if(actionEvent.getSource()=jMenuAddDep)
30、/创建添加班级面板对象AddDepartment addDep=new AddDepartment();/移除主界面上原有的内容this.remove(this.getContentPane();this.setContentPane(addDep);/令界面可见this.setVisible(true);/点击“部门系管理”菜单下的“删除部门系”菜单项if(actionEvent.getSource()=jMenuDelDep)/创建删除班级面板对象DelDepartment delDep=new DelDepartment();/移除主界面上原有的内容this.remove(this.ge
31、tContentPane();this.setContentPane(delDep);/令界面可见this.setVisible(true);/点击“帮助”菜单下的“关于”菜单项if(actionEvent.getSource()=jMenuHelpAbout)/创建“关于”面板对象AboutMe about=new AboutMe();/移除主界面上原有的内容this.remove(this.getContentPane();this.setContentPane(about);/令界面可见this.setVisible(true); M3,同上,再新建一个DBConnect类,连接数据库的
32、类DBConnect.java文件代码如下:/*数据库连接类*/导入sql数据库包import java.sql.*;/创建数据库连接类public class DBConnect/静态方法提高数据库的连接效率public static Connection getConn() throws Exception/驱动程序名String driver=com.mysql.jdbc.Driver;/URL指向要访问的数据库名:managestudentsString url=jdbc:mysql:/:3306/studentsmanager?useSSL=false;/连接数据库
33、的用户名String user=root;/Java连接MySQL数据库用户的密码String passwd=lindejun;/加载JDBC驱动-返回与带有给定字符串名的类或接口相关联的 Class 对象。/第11行和下面这行不写也没关系,可能与工程中添加的mysql-connector-java-5.1.39-bin.jar有关吧Class.forName(driver);/创建连接数据库的对象connConnection conn=DriverManager.getConnection(url,user,passwd);return conn;/* * 以上7行程序可以简写如下1行: *
34、 return DriverManager.getConnection(jdbc:mysql:/:3306/studentsmanager?useSSL=false,root,lindejun); * 这样写法紧凑,但是可读性比较差。 * */M4,同上,再新建一个InquireOnStuID类,按学号查询学生类。InquireOnStuID.java文件代码:/按学号查询学生面板类/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“学号查询学
35、生”类面板public class InquireOnStuID extends JPanel implements ActionListenerprivate static final long serialVersionUID = 1L;/声明连接数据库对象Connection conn;/声明SQL语句对象Statement st;/创建组件对象:标签、文本行、单选JLabel jLabel1=new JLabel(请输入待查询的学生的学号:);JTextField xueHAO=new JTextField();JLabel xueHAO2=new JLabel(学号是10位,如);J
36、Button jButton1=new JButton(查询);JScrollPane jScrollPane1=new JScrollPane();JTextArea jTextArea1=new JTextArea();/构造方法public InquireOnStuID()try/调用初始化方法jbInit();catch(Exception exception)exception.printStackTrace();/面板初始化方法private void jbInit() throws Exception/连接数据库conn=DBConnect.getConn();st=conn.c
37、reateStatement();/框架的布局this.setLayout(null);/设置各组件的大小jLabel1.setFont(new java.awt.Font(宋体,Font.BOLD,16);jLabel1.setBounds(new Rectangle(46,4,222,32);xueHAO.setBounds(new Rectangle(47,37,100,31);xueHAO2.setBounds(new Rectangle(160,37,180,30);jButton1.setBounds(new Rectangle(47,86,247,30);jScrollPane1
38、.setBounds(new Rectangle(24,130,305,109);/添加按钮动作事件jButton1.addActionListener(this);/添加组件到面板this.add(jScrollPane1);jScrollPane1.getViewport().add(jTextArea1);this.add(jLabel1);this.add(xueHAO);this.add(xueHAO2);this.add(jButton1);/点击按钮事件public void actionPerformed(ActionEvent e)/获取用户输入的学号String xueha
39、o=xueHAO.getText();/清空文本区原有的内容jTextArea1.setText();try/利用st对象执行SQL语句,返回结果集对象ResultSet rs=st.executeQuery(select * from studentsinfo where xuehao=+xuehao+);/处理结果集:逐条显示结果集中的记录/此处没有使用while,因为学号是唯一的if(rs.next()jTextArea1.append(学号:+rs.getString(xuehao)+n姓名:+rs.getString(xingming)+n性别:+rs.getString(xingb
40、ie)+n出生日期:+rs.getDate(dateString)+n籍贯:+rs.getString(jiguan)+n班级号:+rs.getString(ClassId);/清空文本行的内容xueHAO.setText();elseJOptionPane.showMessageDialog(this,没有这个学号!);catch(Exception ex)/利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,查询失败!);M5,同上,再新建一个InquireOnStuName类,按姓名查找类InquireOnStuName.java文件代码:/按
41、姓名查询学生面板类/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“添加学生面板”类public class InquireOnStuName extends JPanel implements ActionListenerprivate static final long serialVersionUID = 1L;/声明连接数据库对象Connection conn;/声明SQL语句对象Statement st;/创建组件对象:标签、文本行、单选JLabel
42、 jLabel1=new JLabel(请输入待查询的学生的姓名:);JTextField jTextField1=new JTextField();JButton jButton1=new JButton(查询);JScrollPane jScrollPane1=new JScrollPane();JTextArea jTextArea1=new JTextArea();/构造方法public InquireOnStuName()try/调用初始化方法jbInit();catch(Exception exception)exception.printStackTrace();/面板初始化方法
43、private void jbInit() throws Exception/连接数据库conn=DBConnect.getConn();st=conn.createStatement();/框架的布局this.setLayout(null);/设置各组件的大小jLabel1.setFont(new java.awt.Font(宋体,Font.BOLD,14);jLabel1.setBounds(new Rectangle(90,8,200,34);jTextField1.setBounds(new Rectangle(90,40,200,30);jButton1.setBounds(new
44、Rectangle(110,75,150,30);jScrollPane1.setBounds(new Rectangle(40,115,308,130);/添加按钮动作事件jButton1.addActionListener(this);/添加组件到面板this.add(jScrollPane1);jScrollPane1.getViewport().add(jTextArea1);this.add(jLabel1);this.add(jTextField1);this.add(jButton1);/点击按钮事件public void actionPerformed(ActionEvent
45、e)/获取用户输入的姓名String xingming=jTextField1.getText();/姓名为空,提示输入姓名if(xingming.length()=0)JOptionPane.showMessageDialog(this,请输入名字!);return;/清空文本区原有的内容jTextArea1.setText();/查询是否存在try/利用st对象执行SQL语句,返回结果集对象/此处用模糊查询likeResultSet rs=st.executeQuery(select * from studentsinfo where xingming like %+xingming+%)
46、;/查不到,提示信息if(!(rs.next()JOptionPane.showMessageDialog(this,没有这个名字!);return;rs=st.executeQuery(select * from studentsinfo where xingming like %+xingming+%);/处理结果集:逐条显示结果集中的记录while(rs.next()jTextArea1.append(学号:+rs.getString(xuehao)+n姓名:+rs.getString(xingming)+n性别:+rs.getString(xingbie)+n出生日期:+rs.getD
47、ate(dateString)+n籍贯:+rs.getString(jiguan)+n班级号:+rs.getString(ClassId)+nn);/清空文本行的内容jTextField1.setText();catch(Exception ex)/利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,查询失败!);M6,同上,再新建一个AddStudents类,添加学生类AddStudents.java文件代码:/添加学生面板类/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing
48、.*;import java.awt.event.*;/创建“添加学生面板”类,并继承Jpanel类,和动作监听器借口public class AddStudents extends JPanel implements ActionListener /声明一个静态变量长整型的变量serialVersionUID,此处不知什么用,但是没有这个,程序会有警告。不写下面这行,也不影响程序运行。private static final long serialVersionUID = 1L;/声明一个连接数据库的对象Connection conn;/创建一个声明,用来执行SQL语句Statement s
49、tatement;/* * 以下是创建组件对象:标签、文本行、单选、按钮的细节 */创建一个标签对象stuNo用来显示学号JLabel stuNo=new JLabel(学号:);/创建一个文本输入框对象stuNo2用来输入学号字符串JTextField stuNo2=new JTextField();/创建一个标签对象noFormat用来显示,注意学号的格式JLabel noFormat=new JLabel(学号是10位数,如:);/创建一个标签对象stuName用来显示姓名JLabel stuName=new JLabel(姓名:);/创建一个文本输入框对象stuName2用来输入姓名字
50、符串JTextField stuName2=new JTextField();/创建一个标签对象stuSex用来显示性别JLabel stuSex=new JLabel(性别:);/创建一个单选按钮对象sex_boy用来选择“男”JRadioButton sex_boy=new JRadioButton(男);/创建一个单选按钮对象sex_girl用来选择“女”JRadioButton sex_girl=new JRadioButton(女);/创建一个单选按钮组合对象sex_group,把上面两个单选按钮组合一起,确保只有一个单选按钮被选中ButtonGroup sex_group=new
51、ButtonGroup();/创建一个标签对象stuBirthDate用来显示出生日期JLabel stuBirthDate=new JLabel(出生日期:);/创建一个文本输入框对象stuBirthDate2用来输入出生日期字符串JTextField stuBirthDate2=new JTextField();/创建一个标签对象BirthDateFormat用来显示,注意出生日期的格式JLabel BirthDateFormat=new JLabel(注意!出生日期格式为:1990-02-15);/创建一个标签对象stuBirthPlace用来显示出生地JLabel stuBirthPl
52、ace=new JLabel(籍贯:);/创建一个文本输入框对象stuBirthPlace2用来输入出生地字符串JTextField stuBirthPlace2=new JTextField();/创建一个按钮对象addStu用来添加学生信息到数据库JButton addStu=new JButton(添加学生);/添加学生面板类的构造方法public AddStudents()try/调用添加学生的初始化函数jbInit();catch(Exception exception)exception.printStackTrace();/添加学生图形界面的初始化函数,初始化各变量,组件。pri
53、vate void jbInit() throws Exception/调用DBConnect.java内的getConn方法,初始化conn对象,来连接数据库conn=DBConnect.getConn();/连接数据库后,初始化statement对象,来将 SQL语句发送到数据库。statement=conn.createStatement();/* * 先把当前窗体容器this,的布局管理器置空,再添加新的组件到当前窗体容器中。 * setLayout,数以java.awt.*中的接口,详情件JAVA_API_1.6.CHM文件。 */this.setLayout(null);/* *
54、设置各组件的大小和在当前窗体中的位置 */标签:学号的大小和位置。/setBounds(new Rectangle(x,y,w,h),移动组件并调整其大小。由 x 和 y 指定左上角的新位置,由 w和 h指定新的大小,使其符合新的有界矩形 。stuNo.setBounds(new Rectangle(21,13,65,25);/文本输入框:学号,的大小和位置stuNo2.setBounds(new Rectangle(65,15,100,25);/标签:学号格式,的大小和位置noFormat.setBounds(new Rectangle(180,13,190,25);/标签:姓名,的大小和位
55、置stuName.setBounds(new Rectangle(21,51,53,22);/文本输入框:姓名,的大小和位置stuName2.setBounds(new Rectangle(65,50,150,25);/标签:性别,的大小和位置stuSex.setBounds(new Rectangle(21,86,61,27);/单选按钮:性别男,的大小和位置sex_boy.setBounds(new Rectangle(70,85,65,25);/单选按钮:性别女,的大小和位置sex_girl.setBounds(new Rectangle(150,85,85,25);/设置默认,单选(男
56、)按钮被选中sex_boy.setSelected(true);/标签:出生日期,的大小和位置stuBirthDate.setBounds(new Rectangle(1,122,65,25);/文本输入框:出生日期,的大小和位置stuBirthDate2.setBounds(new Rectangle(65,120,100,25);/标签:出生日期格式,的大小和位置BirthDateFormat.setBounds(new Rectangle(65,145,219,25);/标签:出生地,的大小和位置stuBirthPlace.setBounds(new Rectangle(21,180,5
57、5,25);/文本输入框:出生地,的大小和位置stuBirthPlace2.setBounds(new Rectangle(65,180,150,25);/按钮:添加学生,的大小和位置addStu.setBounds(new Rectangle(103,217,180,30);/* * 对“添加学生”按钮,添加动作事件监听器,监听当前窗体。 * 当按下“添加学生”按钮,会自动调用actionPerformed(ActionEvent e)方法 * */addStu.addActionListener(this);/* * 把上面初始化完成的各类组件都添加到当前窗体容器内。 */添加标签,学号t
58、his.add(stuNo);/添加文本输入框,学号this.add(stuNo2);/添加标签,学号格式this.add(noFormat);/添加标签,姓名this.add(stuName);/添加文本输入框,学号this.add(stuName2);/添加标签,性别this.add(stuSex);/添加单选按钮,男this.add(sex_boy);/添加单选按钮,女this.add(sex_girl);/再把上面两个单选按钮,添加到按钮组合对象sex_group内sex_group.add(sex_boy);sex_group.add(sex_girl);/添加标签,出生日期this
59、.add(stuBirthDate);/添加文本输入框,出生日期this.add(stuBirthDate2);/添加标签,出生日期格式this.add(BirthDateFormat);/添加标签,出生地this.add(stuBirthPlace);/添加文本输入框,出生地this.add(stuBirthPlace2);/添加按钮,添加学生this.add(addStu);/点击按钮添加学生,有个监听器事件监听该动作public void actionPerformed(ActionEvent e)/变量xuehao用来搜集学号信息String xuehao=stuNo2.getText
60、();/变量xingming用来搜集姓名信息String xingming=stuName2.getText();/变量xingbie用来搜集性别信息String xingbie=;/如果单选按钮“男”被选择,那么xingbie字符串内容为“男”if(sex_boy.isSelected()xingbie=男;/如果单选按钮“女”被选择,那么xingbie字符串内容为“女”if(sex_girl.isSelected()xingbie=女;/变量dateString用来搜集出生日期信息String dateString=stuBirthDate2.getText();/变量jiguan用来搜集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年梅州市烟草专卖局人员招聘考试备考题库及答案详解
- 2026年东莞市烟草专卖局人员招聘笔试参考题库及答案详解
- 2026年中南工程咨询设计集团有限公司人员招聘考试备考试题及答案详解
- 2026年临沧市烟草专卖局人员招聘参考题库及答案详解
- 2026年建筑用木料及木材组件加工行业市场现状分析报告及未来五至十年碳中和与循环经济
- 2026上海市伤骨科研究所工作人员公开招聘(二)笔试模拟试题及答案解析
- 2026年医疗仪器设备及器械制造行业战略咨询报告及未来五至十年研发投入与专利布局
- 2026年邯郸市烟草专卖局人员招聘笔试参考题库及答案详解
- 2026秋小学人教版数学二年级上册第三单元学情测试练习卷附参考答案三套
- 2026年东方电气核设备有限公司人员招聘考试题库及答案详解
- 2025年全国人大机关公开遴选公务员真题(附答案)
- 中国广电山东网络有限公司2026年度市县公司招聘145个模拟试卷附答案
- 广东省医师变更执业注册申请审核表
- 直播间话术顺口溜词语大全
- 2025年家用学习打印机行业研究与消费行为调查数据
- 2025年江苏(专升本)民法考试真题及答案
- 合成生物产品质量检测工程师岗位招聘考试试卷及答案
- 重师新生入学教育考试试题及答案
- 大公司办公职场管理制度
- 致敬劳动者争做劳动小先锋-劳动教育主题队会
- 【高分复习笔记】李天元《旅游学概论》(第5版)笔记和课后习题详解
评论
0/150
提交评论