面向对象课程设计java大作业报告含源代码

合集下载

《JAVA程序设计》大作业报告模板

《JAVA程序设计》大作业报告模板

华北科技学院计算机系课程综合作业实验报告课程名称JAVA程序设计实验学期2010 至2011 学年第 1 学期学生所在系部计算机年级08级专业班级信管B082学生姓名学号************ 任课教师实验成绩计算机系制《JAVA程序设计》课程综合作业实验报告学生的学号,可以更新这条记录中的数据;“查询记录”,输入要查询学生学号可以查询这个学生的所有信息;选择分数信息中的“各科最高低分”菜单,可以查询所有学科中的最高分和最低分;“总分平均分”显示所有学生的总分和平均分。

3.主要代码本程序使用Java中基于SWING的图形设计,用到java中的java.awt.*内的包,控件的布局用到java.swing.border.*包,事件处理用到java.awt.event.*,连接数据库用到java.sql 登录界面主要代图1public class denglu{public static void main(String args[]){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){ //11System.out.println(""+e);}new WindowBox("登录窗口"); //调用方法}}class WindowBox extends JDialog implements ActionListener{//声明Box baseBox,boxV1,boxV2,boxV3;JButton button1,button2;}}}如果出现用户名密码错误则会出现提示信息对话框图2通过调用Datawin类中的内容可以进入到主界面声明菜单中的显示、添加、删除、修改、查询、最高低分以及总分平均分菜单项和类,能过给菜单添加事件监听事件图3public void actionPerformed(ActionEvent e){if(e.getSource()==itemshow)show.setVisible(true);else if(e.getSource()==itemadd)add.setVisible(true);else if(e.getSource()==itemupdata)updata.setVisible(true);a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getString(3);a[k][3]=rs.getString(4);a[k][4]=rs.getString(5);a[k][5]=rs.getString(6);k++;}con.close();}catch(SQLException ee){System.out.println(ee);} //处理异常table=new JTable(a,name);getContentPane().removeAll(); //采用BorderLayout布局add(showRecord,BorderLayout.NORTH);add(new JScrollPane(table),BorderLayout.CENTER);validate();}图4构造增加类,声明组件,定义一个表名Object name[]={"学号","姓名","年龄","性别","系别","班级"};和定义一个表单Object a[][]=new Object[1][6];然后给按钮组件增加以下监听事件,通过对表单中输入数据进而增加到数据库中public void actionPerformed(ActionEvent e)//处理事件图5图6构造删除类,声明组件,在文本框中输入信息,进而可以删除数据库中相应的记录给文本框和按钮增加以下事件public void actionPerformed(ActionEvent e){if(e.getSource()==inputNumber){try{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM 学生信息 WHERExueid='"+num+"'");boolean boo=rs.next();if(boo==false){JOptionPane.showMessageDialog(this,"学号不存在",table.repaint();//重打印表con.close();}catch(SQLException ee){JOptionPane.showMessageDialog(this,"更新失败"+ee,"失败",JOptionPane.ERROR_MESSAGE);}}//if图7构造查询方法查询这个窗体整体彩盒式布局,首先声明类和方法设计窗体的外观,给相应的组件添加事件利用SQL语句查询数据库中的信息 rs=sql.executeQuery("SELECT * FROM 学生信息WHERE xueid='"+num+"'");如果输入学号数据库中不存在提示信息“学号不存在”,否则利用table.repaint();方法将数据库中的信息输入到窗体中的table中public void actionPerformed(ActionEvent e)//处理事件{try//连接数据原 hello{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");图8构造最高最低分类首先定义两个静态变量m,n;将数据库中的信息利用查询的方法显示在数字 int b[][]中,con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//只读形式rs=sql.executeQuery("SELECT * FROM 分数信息");st();利用如下方法求得语文成绩的最高分和最低分for(k=0;k<lastNumber;k++){if(m<b[k][0]){m=b[k][0];}if(n>b[k][0]){n=b[k][0];}}a[0][1]=m;a[1][1]=n;同理可以求得其它几科成绩的最高分和最低分然后,将object a[][]中的信息显示有窗体中图9构造总分平均分方法首先将数据库中的信息显示在利用SQL查询方法显示有两个数据中object a[][]和int b[][]中利用如下方法将求得总分和平均分try{con=DriverManager.getConnection("jdbc:odbc:hello","",""); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=sql.executeQuery("SELECT * FROM 分数信息");st();int lastNumber=rs.getRow();b=new int[lastNumber][4];a=new Object[lastNumber][8];int k=0;rs.beforeFirst();while(rs.next()){a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getByte(3);b[k][0]=rs.getByte(3);a[k][3]=rs.getByte(4);b[k][1]=rs.getByte(4);a[k][4]=rs.getByte(5);b[k][2]=rs.getByte(5);a[k][5]=rs.getByte(6);b[k][3]=rs.getByte(6);a[k][6]=b[k][0]+b[k][1]+b[k][2]+b[k][3];a[k][7]=(b[k][0]+b[k][1]+b[k][2]+b[k][3])/4;k++;}con.close();}catch(SQLException ee){System.out.println(ee);}图10四、实验结果及分析程序运行中的报告分析1、在登陆时如果输入不正确的用户和密码会提示用户名或密码错误,因为通过getText()方法无法获得正确的字符串从而提示错误2、在进行数据库相应操作时,如果无法正确连接数据库则会提示不存在所需的数据资源,可能原因是没有正确连接到数据源,即可能数据源名称不正确,或者在数据库中不存在相应的表,或者可能SQL语法错误在进行相应的查询的删除操作时,如果不存在输入的学号会提示用户,“学号学号不存在”,因为不在数据库不无法在相应的字段下找到相匹配的字符串。

JAVA面向对象程序设计课程综合作业-实验报告

JAVA面向对象程序设计课程综合作业-实验报告

JAVA面向对象程序设计课程综合作业实验报告一.设计目的JAVA面向对象程序设计课程综合作业是在学生系统地学习了“JAVA面向对象程序设计课程”后,编写“俄罗斯方块游戏”雏形系统。

通过对一个实际问题的分析、设计与实现,将原理与应用相结合,使学生学会将书本知识用于解决实际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。

二.系统名称简易俄罗斯方块游戏三.系统功能需求本游戏的主要工作是:控制一个下落的方块,并尽量使用下落的方块填满一行或多行已存在的方格,并要避免方块层叠到游戏场景的顶部。

不同类型的方块均由多个小方格组成,方块将一直自动下落,直到落在游戏场景底部或者已停住方块上面游戏玩家,可以控制下落方块左移、右移以及下移,也可以旋转方块✧当一个方块停止下落时,要检查是否存在填满方格的行;若存在填满的行,则将其清除;清除一行则游戏玩家可获得一些分值 当前方块层叠到游戏场景的顶部时,游戏结束。

四.系统实现功能1、键盘实现功能:2、菜单功能:(1)方块变形:上健(1)分数栏;(5)方块右移按钮;(2)方块左移:左键(2)游戏开始按钮;(6)方块下移按钮;(3)方块右移:右键(3)方块旋转按钮;(4)方块下移:下健(4)方块左移按钮;3、控制功能:(1)当前方块的左移、右移、下移、旋转;(2)方块块不会超越边界,不会覆盖当前已经落下的方块;(3)随机产生7种方块;(4)实现方块自动下落;(5)当游戏区域底行填满时进行消行;(6)判断某一行是否填满;(7)消行后记录分数(8)判断游戏是否结束。

五.概要设计详细描述出系统中定义了几个类,类之间的关系。

每个类定义了哪些数据成员和方法,数据成员和方法的功能是什么。

六.界面设计及功能实现图1图2如上图1游戏界面,分别有游戏区域,分数标签和开始、旋转、左移、右移、下移按钮。

1、当鼠标点击开始时,随机产生一个方块然后自动下落实现随机产生一个方块的代码如下:int ramd;ramd=(int)(Math.random()*7);//随机产生方块switch(ramd){case 0:block=new JShapeBlock(); break;case 1:block=new LineShapeBlock();break;case 2:block=new LShapeBlock();break;case 3:block=new SquareBlock();break;case 4:block=new TShapeBlock();break;case 5:block =new SShapeBlock();break;case 6:block=new ZShapeBlock();break;}block.setGraphics(drawPanel.getGraphics());block.blockDraw();}实现方块自由下落的代码:public class GameTimerTask extends TimerTask{//线程,实现方块开始后自行下落public void run(){if(canStepDown()){//判断方块是否可以下落block.blockDown();}else {//在背景二维数组里定义方块for(int i=0;i<block.squares.length;i++){Square s=block.squares[i];int rowIndex=s.getLocationY()/squareHeight;int columnIndex=s.getLocationX()/squareWidth;gameFieldSquares[rowIndex][columnIndex]=s;}clearFullRows();//方块满行消除gameOver();int ramd;ramd=(int)(Math.random()*7);//随机产生方块switch(ramd){case 0:block=new JShapeBlock(); break;case 1:block=new LineShapeBlock();break;case 2:block=new LShapeBlock();break;case 3:block=new SquareBlock();break;case 4:block=new TShapeBlock();break;case 5:block =new SShapeBlock();break;case 6:block=new ZShapeBlock();break;}block.setGraphics(drawPanel.getGraphics());block.blockDraw();}}}和gameTimer=new Timer();gameTimer.scheduleAtFixedRate(new GameTimerTask(),0,timerPeriod);2、分数标签栏,当满行并消除后加10分,当同时消除两行时加100分,当同时消三行以上时加(行数*200)分。

Java大作业报告

Java大作业报告

Java大作业报告课程名称:面向对象JAVA编程技术设计题目:猜数字游戏姓名:徐俏学号:3100403012专业班级:信息工程类101班一.设计内容:游戏者在"0~100","0~200","0~300"三个区间内选择随机数字范围,点击按钮“随机产生数字”产生数字n,假设在“0~100”之间,2、当输入一个整数m时,点击按钮“比较”n与m比较。

当m>n时,提示"太大了哦!还可以再小一点~~~";否则显示"小了哦,可以猜大一点的数!",依次类推,直到猜到数字n。

显示"答对啦!!!"。

并且出现"猜的次数大于三次请自觉摁下惩罚键吧!",是的话,按下按钮"进入惩罚选择"。

3、然后点击按钮选择惩罚方式:"惩罚装扮对象""惩罚地点""惩罚事件",都由程序随机产生,最终得到惩罚事件。

二.摘要:J ava.awt,即java抽象窗口工具包(Abstract Window Toolkit,AWT)提供了许多用来设计GUI (Graphics User Interface,图形用户界面)组件类。

java早期进行用户界面设计时,主要是用java.awt包提供的类。

如Button(按钮)、TextField(文本框)和List(列表)等。

JDK1.2推出之后,增加了一个新的javax.swing包,该包提供了功能更为强大的用来设计GUI的类。

Java.awt.event,提供处理由 AWT 组件所激发的各类事件的接口和类。

有关 AWT 事件模型的细节,请参见 java.awt.AWTEvent 类。

事件由事件源所激发。

向事件源注册的事件侦听器可接收有关特定事件类型的通知。

此包定义了事件和事件侦听器,以及事件侦听器适配器,它是让事件侦听器的编写过程更为轻松的便捷类。

Java实验报告面向对象

Java实验报告面向对象

实验报告学年第学期任课老师:m=max[i];}}System.out.println("5个人中java成绩最大值是:"+m);}}实验结果分析与总结1、程序运行结果(请提供所完成的各道题运行结果界面截图):2、在实验过程中遇到的问题与解决方法:实验中并未有太多技术上的问题,除了对软件运用的不够熟练造成最初的一些错误,比如,用Jcreator时未编译便运行,一直出错,检查多次后才发现此处与eclipse的不同(上机时没问题,写实验报告用的Jcreator出错了,所以是软件用的不熟记错的缘故。

)而且要先编译Student类才可编译Main。

3、实验过程中的发现与收获,未解决或需进一步解决的问题:实验中的发现便是java其实较C/C++简单许多,很多东西都不要自己多加考虑,但试验还是太少所以会在一些小的细节方面浪费很多时间。

指导老师评阅意见指导老师:年月日填写内容时,可把表格扩大。

附:实验源程序代码//Mainpackage Test;public class Main {public static void main(String[] args) {Main ma=new Main();Student stu1=new Student();stu1.setAge(18);stu1.setJava(86);stu1.setName("aaa");stu1.setNo("001");stu1.setSex("M");int a=stu1.getJava();System.out.println("第一个学生的信息为:\r\n"+"姓名是:"+stu1.getName()+"\r\n"+"年龄是:"+stu1.getAge()+"\r\n"+"性别是:"+stu1.getSex()+"\r\n"+"学号是:"+stu1.getNo()+"\r\n"+"成绩是:"+stu1.getJava()+"\r\n");Student stu2=new Student();stu2.setAge(18);stu2.setJava(90);stu2.setName("bbb");stu2.setNo("011");stu2.setSex("M");int b=stu2.getJava();System.out.println("第二个学生的信息为:\r\n"+"姓名是:"+stu2.getName()+"\r\n"+"年龄是:"+stu2.getAge()+"\r\n"+"性别是:"+stu2.getSex()+"\r\n"+"学号是:"+stu2.getNo()+"\r\n"+"成绩是:"+stu2.getJava()+"\r\n");System.out.println("两个人的java平均成绩为:"+(stu1.getJava()+stu2.getJava())/2);Student stu3=new Student();stu3.setAge(20);stu3.setJava(76);stu3.setName("ccc");stu3.setNo("067");stu3.setSex("F");int c=stu3.getJava();System.out.println("第三个学生的信息为:\r\n"+"姓名是:"+stu3.getName()+"\r\n"+"年龄是:"+stu3.getAge()+"\r\n"+"性别是:"+stu3.getSex()+"\r\n"+"学号是:"+stu3.getNo()+"\r\n"+"成绩是:"+stu3.getJava()+"\r\n");Student stu4=new Student();stu4.setAge(19);stu4.setJava(100);stu4.setName("ddd");stu4.setNo("09091219");stu4.setSex("M");int d=stu4.getJava();System.out.println("第四个学生的信息为:\r\n"+"姓名是:"+stu4.getName()+"\r\n"+"年龄是:"+stu4.getAge()+"\r\n"+"性别是:"+stu4.getSex()+"\r\n"+"学号是:"+stu4.getNo()+"\r\n"+"成绩是:"+stu4.getJava()+"\r\n");Student stu5=new Student();stu5.setAge(22);stu5.setJava(89);stu5.setName("eee");stu5.setNo("097");stu5.setSex("F");int e=stu2.getJava();System.out.println("第五个学生的信息为:\r\n"+"姓名是:"+stu5.getName()+"\r\n"+"年龄是:"+stu5.getAge()+"\r\n"+"性别是:"+stu5.getSex()+"\r\n"+"学号是:"+stu5.getNo()+"\r\n"+"成绩是:"+stu5.getJava()+"\r\n");int max[]={a,b,c,d,e};int m=max[0];for(int i=0;i<5;i++){if(m<max[i]){m=max[i];}}System.out.println("5个人中java成绩最大值是:"+m);}}//Student类package Test;public class Student {private String sNo;private String sName;private String sSex;private int sJava;private int sAge;//set方法public void setJava(int java){sJava=java;;}public void setAge(int age){sAge=age;}public void setNo(String no){sNo=no;}public void setName(String name){ sName=name;}public void setSex(String sex){sSex=sex;}//get方法public int getJava(){return sJava;}public int getAge(){return sAge;}public String getNo(){return sNo;}public String getName(){return sName;}public String getSex(){return sSex;}}。

Java课程设计实验报告及全部源码流程图

Java课程设计实验报告及全部源码流程图

课程设计一、实验目的1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。

2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。

3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。

二、实验要求1.问题描述准确、规范。

2.程序结构合理,调试数据准确、有代表性.。

3.界面布局整齐,人机交互方便。

4.输出结果正确。

5.正确撰写实验报告。

三、实验内容编写一个GUI程序实现日历的功能。

一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。

可以实现显示时钟,时钟能进行整点报时。

可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。

四、实验步骤1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。

2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。

3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。

4. 根据实验结果,写出合肥工业大学实验报告。

实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。

5.详细的上机实验步骤见任务分工及程序设计进度表。

五、实验结果经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。

(完整版)Java课程设计报告75472506

(完整版)Java课程设计报告75472506

课程设计(大作业)报告课程名称:面向对象程序设计课程设计设计题目:设计一个计算器院系:班级:设计者:学号:指导教师:设计时间:2013.1..1.18课程设计(大作业)任务书目录课程设计(大作业)报告 (4)一、题目要求 (4)⑴、界面设计 (4)⑵、计算器的基本功能 (4)二、需求分析 (4)三、题目分析 (5)四、分工设计 (5)⑴、程序代码 (5)⑵、运行结果截图 (9)五、总体设计 (10)⑴流程图 (10)⑵UML图 (11)六、详细设计和主要代码 (11)七、运行结果 (21)八、总结 (21)九、参考文献 (22)课程设计(大作业)报告一、题目要求⑴、界面设计首先按设计要求实现其基本功能,其次设计布局,按照GridLayoutd的布局方法,将空间划分为由行和列组成的网格单元,每个单元放一个组件,网格单元大小可不同,尽量将相同属性的按钮放在一个区域,方便操作。

⑵、计算器的基本功能:①加法:两个数据进行加操作,可以为小数。

②减法:两个数据进行减操作,可以为负数相减。

③乘法:两个数相乘操作。

④除法:两个数相除操作。

⑤开平方:对任意一个数进行开平方运算,可以是小数。

⑥求余:对任意一个数进行求余运算。

⑦倒数:对任意一个数进行倒数运算功能可自行增加。

提示:添加相关组件并进行按钮事件处理。

二、需求分析在日常生活中经常要用到计算器,比如科学计算器、数值计算、会计业务等,在Applet中实现一个精巧实用的计算器,可以让用户在使用网站服务的同时,可以很方便地进行数据运算,可增加页面的实用性,同时让用户的操作也更方便与快捷。

本次实验要求实现一个具有四则运算的计算器,拥有加、减、乘、除、求余、求倒等功能,并且还要求具备清零等功能。

三、题目分析计算器功能键的实现actionPerformed(ActionEvent e)响应整个计算的文本框。

这次设计的计算器计算功能主要包括加法、减法、乘法、除法、求平方根、取余,1/x将文本框中的数据为它的倒数,sqrt将文本框中的内容求平方根,且有小数点、正负号、求倒数、退格和清零等功能。

java面向对象课程大作业

java面向对象课程大作业

面向对象大作业JAVA---我的小闹钟--闹钟的制作和功能扩充每个人呢,都有一个属于自己喜欢的闹钟,在夜里静静的时候,它依然有着欢快的声音,陪着你入眠。

从这里起步,经过我的设计,变成了下面这幅:程序运行结果:通过对程序的阅读,理解,注释,借鉴和修改,我在原先的基础上增加了:一、图片的插入【两种方法】二、窗口添加的格言和数字时间的汉字,并进行了字体和颜色的改换三、音乐的添加【背景音乐和钟表的伴奏声】两种方法四、闹铃功能的添加五、克服屏幕闪烁的两种方法添加,其中双缓冲的比较好。

以下进行分别介绍:(1)图片的插入【两种方法】我增加了表盘的方框,并在里面插入静态jpg图片,在表的两旁添加了两幅成对的蝴蝶gif动态图片,在显示的数字时间下面铺垫了远景图;Image img,img1,img2,img3;////添加图片的方法一img=getImage(getCodeBase(),"1.jpg");//初始化操作,将图像"1.jpg"装入img中img1=getImage(getCodeBase(),"2.jpg");//初始化操作,将图像"2.jpg"装入img1中img2=getImage(getCodeBase(),"9.gif");//初始化操作,将图像"9.jpg"装入img2中img3=getImage(getCodeBase(),"7.gif");//初始化操作,将图像"7.jpg"装入img3中g.drawImage(img,xcenter-54,ycenter-54,109,109,this); //将img显示在表盘的窗口中//g.drawImage(img1,10,220,680,330,this); //继续将img1显示在盘外的窗口中g.drawImage(img2, 420, 10, this );g.drawImage(img3, 140, 10, this );//添加图片的方法二Toolkit toolkit=Toolkit.getDefaultToolkit();img = toolkit.getImage("1.jpg");//图片的背景g.drawImage(img, xcenter-54,ycenter-54,109,109, this );img1 = toolkit.getImage("2.jpg");//图片的背景g.drawImage(img1, 10, 220,680,330, this );img2 = toolkit.getImage("9.gif");//动态图片g.drawImage(img2, 420, 10, this );img3 = toolkit.getImage("7.gif");//动态图片g.drawImage(img3, 140, 10, this );(2)参考书本知识,我对窗口添加的格言和数字时间的汉字进行了字体和颜色的改换(可以让自己对自己的闹钟个性化):g.setFont(new Font("/*Monospaced/Dialog/Arial*/Times newRoman",Font.BOLD/*PLAIN*/,14)); //设置字体g.setColor(Color.blue); //该语句使下面格言字体呈颜色为blueg.drawString("先相信自己,然后别人才会相信你。

Java大作业报告

Java大作业报告

课程:Java程序设计与应用开发题目:登录系统与钟表实现班级:XXXXXXXXXX学号:XXXXXXXX姓名:XXXX日期:XXXXX一、大作业目的用面向对象语言JA V A完成登录系统和钟表的分析、设计和实施。

通过课程设计掌握面向对象编程技术、GUI编程、常用类库的使用和应用系统的开发过程。

二、大作业题目描述和要求1.题目设计简单的登录系统和钟表界面,掌握Java编程中的多媒体应用。

2.要求(1)登录系统是java编程中比较基础的,设计一个登录对话框,通过输入正确的用户名和密码来进入系统,系统是一个带有菜单栏的记事本程序,通过点击菜单栏上的按钮来实现相应的功能。

(2) 通过设计一个钟表程序进一步掌握java在多媒体方面的应用。

3. 开发环境Eclipce + JDK1.4.2三、系统分析1.对于登录系统,首先应该对登录界面进行设计,该对话框中包括两个标签,一个文本输入框,一个密码输入框和两个按钮,这些GUI组件被添加到一个使用了网络袋布局的面板panel中,面板panel又被添加到Text_Login的内容窗格。

设计该系统的初步思路就是首先需要定义图像生成器的界面窗口,其次就是往每个按钮上添加触发事件监听器(如ActionListener、MouseListener、MouseMotionListener),然而在实际操作的过程中,新的问题不断出现,不过最后依依解决了。

对于记事本程序中的菜单栏的实现,菜单也是一种常用的GUI组件,菜单是一种层次结构,最顶层是菜单栏,在菜单栏中可以添加若干个菜单,每个菜单又可以添加若刚菜单选项,子菜单。

当单击一个菜单选项时,会生成一个动作事件,为菜单选项添加事件侦听器就可以侦听起动作事件。

2.对于Java的多媒体应用之钟表实现,程序在窗口上显示一个表盘,时刻度和分刻度为3D样式的,分别为黑灰色和灰色时针分针秒针随着时间在走动,间隔1s。

时针和分针的样式设计为略显锥形,秒针为简单的直线形。

JAVA课程设计报告_完整版

JAVA课程设计报告_完整版

《JAVA面向对象程序设计》课程设计报告(2011-2012学年第2学期)系别:厦门理工学院计算机科学与技术系专业名称:10级网络工程1班课程设计科目:《JAVA面向对象程序设计》课程设计学生姓名:学号:指导教师:***成绩:完成时间:2012年7月6日题目JAVA程序课程设计任务一手机号码检测器(一)设计任务与目标任务:手机号码是由11位数字构成,用户在输入手机号码时经常混乱输入若干位数字或字母,要求你编写一个程序检测用户所输入的手机号码是否符合规则。

要求目标:检测所输入的手机号码是否是11位检测每一位是否都为数字。

分析论证:本题目要求对用户输入的手机号码进行检测,判断输入的正确性。

曾经有做过类似字符比较的题目,可以借鉴。

将字符的比较运用进来,把用户的输入字符和正确的进行比较。

但是必须满足多次输入和错误提醒。

同时还可以添加提示错误的位置和错误字符是什么。

程序正确运行时可以满足以上功能,基本可以达到题目要求了。

(二)方案设计与论证为了满足多次输入的要求,将提示和输入的操作放在一个循环体中,我采用了do_whiele()循环。

每次输入结束后提示是否继续输入。

在循环中逐步对输入的号码位数和字符类型进行检测。

位数可以分超出和不足,并均给出错误提示。

如果位数满足要求后对手机号码类型进行检测。

一般手机号在0~9之间,所以不满足的字符将报错。

通过将输入的整个字符串调用charAt(int i)方法对字符串逐位比较。

本程序的特点在于可以满足了多次输入和错误字符的显示(内容和位置)。

在程序的调试过程中,有过多次输入正确的号码也会报错(还会报错0位错误),这是因为记录错误位子的变量放在错误条件下并且未在循环体中初始化为0。

最终解决了此问题。

(三)程序框图或流程图,程序清单与调用关系(四)程序运行的测试与分析实现了多次输入和错误提示,可以判断输入的号码的错误位置及字符,错误类型,满足了设计构思要求。

最终结果如下图:实验结果截图:(五)结论心得实验过程中对于判断条件的选择出现了问题,开始时觉得要对输入的字符一个一个的比较,这样增加了难度也不方便实现。

Java面向对象程序课程设计任务书和报告模版

Java面向对象程序课程设计任务书和报告模版

Java面向对象课程设计报告报告题目:基于Java的制药企业进销存管理系统的设计与开发学院: 信息与电子工程学院专业: 计算机科学与技术班级: 计算机191、192学号: 190210001、190210051学生姓名: 王一领(组长)、李二信、指导教师: 许加兵二○二一年七月Java面向对象程序课程设计任务书一、主要任务与目标1.掌握Java语言,能够学会使用JSP开发具体的网站。

2.熟悉数据库MySQL的使用,熟悉数据库编程语言(主要是SQL)。

3.使用所学知识开发一个基于Java的制药公司进销存管理系统。

二、主要内容与基本要求本系统在实施后应能集中处理原料、成药、半成品、废料的进销存等的管理。

该系统按结构分为两大部分:前台管理和后台管理。

根据制药行业自身的特点,系统主要功能设计有:信息管理:对企业产品、原辅料供应商、客户等基础信息实现登记入库,并提供查询功能。

进货管理: 对进货入库进行流程化管理,建立完善的产品和报表管理。

进货管理与系统的财务、销售和库存等管理功能结合可以动态掌握进货业务的付款情况、从而减少盲目采购, 有效控制库存, 使财务部门及时掌握库存的进货成本。

销售管理:销售管理对销售部门的日常业务进行跟踪和控制管理, 能够处理多种销售方式, 提供多种方便灵活的查询方式, 并能进行发票和报表打印。

库存管理:库存管理对企业物流的业务操作进行全面的控制和管理, 及时反映出物资资金占用的状况。

提供商品入库、出库、库存统计和查询等功能。

来往管理:来往管理对企业进货和销售过程中产生的现金交易进行管理,及时反映出企业现金流的状况。

提供原辅料入库结账、结账查询等等功能。

系统管理:这是系统管理员的工作。

可设置各操作员使用系统操作的权限。

并进行数据备份和数据恢复。

对操作员进行的操作进行日志管理,还可提供用户密码的更改。

三、开发工具Eclipse、Android、iOS、JDK、MyEclipse、NetBean、MySQL、Oracle、UML、Rational Rose等等(供选择)四、计划进度1.5月26日-- 5月28日:搜集资料、查阅文献,确定选题2.5月29日--5月31日:需求分析,系统软件总体设计,系统功能模块分析与划分,设计UML类图。

JAVA-课程设计(大作业)报告

JAVA-课程设计(大作业)报告

课程设计(大作业)报告课程名称:面向对象程序设计课程设计设计题目:设计一个记事本院系:信息技术学院班级:设计者:学号:指导教师:设计时间:信息技术学院昆明学院课程设计(大作业)任务书简单记事本程序的设计目录一.题目分析 (5)1.1需求分析 (5)1.2功能要求设计 (5)二.总体设计 (5)2.1设计思路 (5)2.2运行界面 (6)2.3模块说明图 (6)2.4主流程图 (7)2.5 UML图 (7)2.6程序相关说明 (8)三.运行环境 (8)四.详细设计与分析 (8)4.1.初始化组件 (8)4.2.构建菜单栏及其下拉菜单 (8)4.3.“文件”菜单的事件监听 (9)4.5.异常处理 (10)五.调试分析 (12)六.总结 (13)七.参考文献 (14)附录(源代码) (14)一.题目分析1.1需求分析现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。

功能也是应有尽有,有的能改变字体,有的能改变文字颜色。

但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。

仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。

本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。

该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。

该程序主要用到了Java swing和事件监听等。

1.2功能要求设计设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能,可扩展功能。

本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:5)菜单中有“文件”,“编辑”,“关于”三个主菜单。

java《Java程序设计》实验报告1:Java面向对象程序设计

java《Java程序设计》实验报告1:Java面向对象程序设计

开课实验室:现代信息交流中心403开课时间:2019年**月**日实验报告:2019年11月2日一、实验目的:熟悉和掌握Java中的面向对象编程,包括类、属性、方法、构造方法。

二、实验内容:1. 定义一个矩形类Rectangle:(1)属性:长length、宽width(2)方法:getArea()求面积、getPerimeter()求周长,showAll()分别在控制台输出长、宽、面积、周长(3)构造方法Rectangle(width, length),分别给两个属性赋值编写测试类,创建Rectangle对象,并输出相关信息。

2. 设计一个类Student:(1)属性包括姓名、学号和成绩(2)方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。

编写测试类运行上面的方法。

3. 编写复数类Complex,使用该类验证两个复数2+2i 和3+3i 相加产生一个新的复数5+5i 。

复数类Complex 满足如下要求:(1)属性:RealPart : int型,代表复数的实数部分;ImaginPart : int型,代表复数的虚数部分(2)方法:Complex( ) : 构造方法,将复数的实部和虚部都置0Complex( int r , int i ) : 构造方法,形参r 为实部的初值,i为虚部的初值。

Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。

String toString( ) : 把当前复数对象的实部、虚部组合成a+bi 的字符串形式,其中a 和b分别为实部和虚部的数据。

编写测试类对其进行测试。

三、源代码清单:1.源代码清单package text1;public class Rectangle {float length,width;Rectangle(float width, float length) {this.width = width;this.length = length;}double getArea(){return length*width;}double getPerimeter(){return 2*(length+width);}void showAll(){System.out.println("长:"+length);System.out.println("宽:"+width);System.out.println("面积:"+getArea());System.out.println("周长:"+getPerimeter());}public static void main(String args[]) {Rectangle a = new Rectangle(2, 5);a.showAll();}}2.源代码清单package text;public class student {String name;int id;private float score;student(String name,int id,int score){=name;this.id=id;this.score=score;}void show() {System.out.println("id:"+id+",name="+name+",score="+score);}public static void sort(student[] stus) {student stu;for(int i = 0;i < stus.length-1;i++) {for(int j = 0;j < stus.length - i - 1;j++) {if(stus[j].score < stus[j+1].score) {stu = stus[j];stus[j] = stus[j+1];stus[j+1] = stu;}}}}public static void main(String[] args) {student[] stus = new student[3];stus[0] = new student("董山炮", 1, 59);stus[1] = new student("丁朵朵", 2, 96);stus[2] = new student("大狗", 3, 77);student.sort(stus);for(student stu : stus) {stu.show();}}}3. 源代码清单package text;public class complex {int RealPart;int ImaginPart;complex(){this.RealPart = 0;this.ImaginPart = 0;}complex(int r,int i){RealPart = r;ImaginPart = i;}int getRealPart(){return this.RealPart;}public int getImaginPart(){return this.ImaginPart;}complex complexAdd(complex a){int RealPart = this.RealPart + a.getRealPart();int ImaginPart = this.ImaginPart + a.getImaginPart();return new complex(RealPart, ImaginPart);}public String toString(){return this.RealPart + "+" + this.ImaginPart + "i";}public static void main(String[] args){complex a = new complex(2,2);complex b = new complex(3,3);complex sum = plexAdd(b);System.out.println(a + "+" + b + "=" +sum ); }}四、运行结果:(给出运行结果贴图)。

《面向对象编程与设计(Java)》期末项目实训大作业及作业任务要求

《面向对象编程与设计(Java)》期末项目实训大作业及作业任务要求

《面向对象编程与设计(Java)》期末项目实训大作业及作业任务要求1.1.1蓝梦教育集团课程选课系统1、任务要求利用在“面向对象编程与设计(Java)”的8周课程所学习到各个方面的知识设计并实现一个C/S架构的J2SE的应用程序(应用Matisse4MyEclipse设计Swing GUI的窗口界面)作为本课程的结课后的项目大作业,该作业的成绩也将作为本课程的结课时的考试成绩(由于本课程是开发类的技术课程,不进行常规的闭卷考试),希望大家加以重视。

2、“蓝梦教育集团课程选课系统”项目的背景某著名教育企业蓝梦教育集团(Blue Dream Group),为了能够在中国迅速地开展与教育产品和IT技能培训有关的各个方面的业务、并期望能够取得比较好的效益和提高各项教育产品的质量以迎接新的挑战,需要全面地提升本土化的信息化项目建设的进度、拟计划开发出蓝梦教育集团课程选课系统,提高教学管理的工作效率,和使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,并使得学生能够及时、准确、有效地查询和修改选课情况。

3、“蓝梦教育集团课程选课系统”主要的界面需求示图(1)学生登录窗口内的参考界面其中的“用户名”是学生学号(可以自己规定,或者参考学校的学号规则),登录初始密码也为学号(假定系统管理人员已经分配了帐号和初始密码),身份选择“学生”类型,然后再点击其中的“登录”按钮进行系统身份验证。

身份验证成功后,该登录的学生就可进入他的个人选课的信息窗口。

(2)学生在选课信息窗口内进行选课某学生要选他所感兴趣的某门课程,只需要点击相应的课程信息记录前的某个方框(每个可选的课程信息前面都提供有一个方框);选择了某个课程后,然后再点击窗口中的“提交”按钮(在窗口的右下端)提交该选课结果即可。

此时将会在“已选课程”的区域中出现所选报的课程名称(如下窗口中的下半部分),表示已经成功地保存了所选的课程,某门课程的选课的过程也就完成了。

面向对象的程序设计(Java)课程设计报告

面向对象的程序设计(Java)课程设计报告
面向对象的程序设计(Java)
课程设计报告
题目:网上商店销售管理及统计分析系统
专 业信息管理与信息系统
班 级
姓 名
学 号
指导教师
完成日期
年学期
《面向对象程序设计(Java)》课程设计成绩评定
经考核,给出如下评语:
并综合评定该生课程设计成绩为。
指导教师:
年月日
一、系统需求分析………………………………………………3
时间码表dates:(dat,yea,sea)
商品表prods:(pnum,pname,a,b,supply)
配送点表send:(snum,sname,sadd)
销售表sells:(cnum,pnum,onum,dat,num,price,snum)
数据库E-R图
逻辑结构设计
2.系统详细设计及代码说明
JButton c15;JButton c16;JButton c17;
JLabel c21;JLabel c22;JLabel c23;JLabel c24;
JLabel c25;JLabel c26;JLabel c27;JLabel c28;
JLabel c29;
JLabel c211;JLabel c221;JLabel c231;JLabel c241;
3.系统中用户的界面需求
需要设计两个用户交互式界面,一个界面处理对销售数据最基本的统计查询,另一个界面处理基本信息的修改和查询。
4.功能需求
系统实现对在线销售数据最基本的统计查询和基本信息的修改和查询。
5.性能需求
网上信息处理要求准确而迅速,并且信息流量大、更新速度快,所以要求系统能实现对大量数据的快处理能力,使用方便,操作简单,易于维护,安全性好,能将信息及时反馈给决策者。

面向对象程序设计课程设计报告及程序源代码

面向对象程序设计课程设计报告及程序源代码

滨州学院课程设计(学年论文)题目:人机互动猜拳小游戏系院计算机科学技术系专业计算机网络技术班级2012级1班姓名学号指导教师职称讲师2013年6月30日public class Computer {String name;int score;public int showfist(){int quan;quan=(int)(Math.random()*10);if(quan<=2){quan=1;}else if(quan<=5){quan=2;}else{quan=3;}switch(quan){case 1:System.out.println(name+"出拳:剪刀");break;case 2:System.out.println(name+"出拳:石头");break;case 3:System.out.println(name+"出拳:布");break;}return quan;}}import java.util.Scanner;public class Person {String name;int score;Scanner input=new Scanner(System.in);public int showFist(){System.out.print("\n请出拳:1.剪刀2.石头3.布");int quan=input.nextInt();switch(quan){case 1:System.out.println("你出拳:剪刀");break;case 2:System.out.println("你出拳:石头");break;case 3:System.out.println("你出拳:布");break;}return quan;}}import java.util.Scanner;public class Game {int count=0;int countP=0;Person person=new Person();Computer computer=new Computer();Scanner input=new Scanner(System.in);public void initial(){System.out.print("请选择你的角色(1.刘备 2.孙权 3.曹操):");int juese=input.nextInt();switch(juese){case 1:="刘备";break;case 2:="孙权";break;case 3:="曹操";break;}System.out.print("请选择对手角色(1.关羽 2.张飞 3.赵云):");int JueSe=input.nextInt();switch(JueSe){case 1:="关羽";break;case 2:="张飞";break;case 3:="赵云";break;}}public void begin(){System.out.print("\n要开始吗?(y/n)");String ans=input.next();if(ans.equals("y")){String answ;do{int a=person.showFist();int b=computer.showfist();if(a==1&&b==3||a==2&&b==1||a==3&&b==2){System.out.println("结果:你赢了!");person.score++;}else if(a==1&&b==1||a==2&&b==2||a==3&&b==3){System.out.println("结果:平局,真衰!嘿嘿,等着瞧吧!");countP++;}else{System.out.println("结果:你输了!");computer.score++;}count++;System.out.print("\n是否开始下一轮? (y/n)");answ=input.next();}while(answ.equals("y"));}}public String calcResult(){String a;if(person.score>computer.score){a="最终结果:恭喜恭喜!你赢了!";}else if(person.score==computer.score){a="最终结果:打成平手,下次再和你一决高下!";}else{a="最终结果:呵呵,你输了!笨笨,下次加油啊!";}return a;}public void showResult(){System.out.println("---------------------------------------------------");System.out.println("\t\t"++" VS "++"\n");System.out.println("对战次数:"+count+"次");System.out.println("平局:"+countP+"次");System.out.println(+"得:"+person.score+"分");System.out.println(+"得:"+computer.score+"分\n");System.out.println(calcResult());System.out.println("---------------------------------------------------");}}public class Test {public static void main(String[]args){Game g=new Game();System.out.println("-----------------欢迎进入游戏世界--------------------\n\n");System.out.println("\t\t******************");System.out.println("\t\t** 猜拳开始**");System.out.println("\t\t******************\n\n");System.out.println("出拳规则:1.剪刀2.石头3.布");g.initial();g.begin();g.showResult();}}。

面向对象课程设计java大作业报告含源代码

面向对象课程设计java大作业报告含源代码

Java程序设计报告年级专业信息管理与信息系统学号学生姓名指导教师二○一四年六月一、所用到的表的结构及数据类型customer顾客表操作人员表列名说明数据类型约束用户名用户登录名nchar(10) 主码密码登录密码nchar(3) 非空职位担任职务nchar(10)1、登录功能打开Java文件Login.java运行后输入错误的用户名后出现:输入用户名Lucy 密码:123点击登录进入操作界面:2、添加功能下拉顾客信息系统菜单,选择添加客户信息添加信息前数据库客户表的内容:没有编号0000013添加客户0000013:数据库内表变为:注:0000015号是截图之前添加进去的3、查询功能下拉客户信息系统菜单,选择查询客户信息,输入客户编码0000013后点击确定查询此顾客:4、修改功能下拉菜单客户信息系统,选择修改客户信息,重新输入相应的正确信息,将错误的覆盖掉,此处将0000013张蔷年龄改为32:数据库表内内容:5、删除功能下拉菜单客户信息系统,选择删除客户信息,输入客户编码0000013点击确认:数据库信息变为:0000013号信息已经删除6、退出系统功能下拉菜单客户信息管理选择退出:然后就退出了界面。

三、程序源代码package LoginSystem;import java.sql.*;import java.io.*;import javax.swing.*;import java.awt.*;//登录界面public class Login extends JFrame{private TextField nameField = new TextField(10);private JPasswordField passwordField = new JPasswordField(15); private JButton loginButton = new JButton("登录");private JButton exitButton = new JButton("退出");private JLabel titleLabel = new JLabel("梦之路时尚天堂商品管理系统"); private JLabel userLabel = new JLabel("用户名");private JLabel pwdLabel = new JLabel("密码");private String user = null;private char[] pwd = null;public static void main(String args[]){Login frame = new Login();frame.setTitle("系统登录");frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);frame.setResizable(false);frame.setLocation(600,300);frame.pack();frame.setVisible(true);}public Login(){JPanel titlePanels = new JPanel();titlePanels.add(titleLabel);titleLabel.setForeground(Color.red);JPanel labelPanels = new JPanel();labelPanels.setLayout(new GridLayout(2,1,10,40));labelPanels.add(userLabel);labelPanels.add(pwdLabel);JPanel textFieldPanels = new JPanel();textFieldPanels.setLayout(new GridLayout(2,1,10,40));textFieldPanels.add(nameField);textFieldPanels.add(passwordField);JPanel buttonPanels = new JPanel();buttonPanels.add(loginButton);buttonPanels.add(exitButton);JPanel picturePanels = new JPanel();JLabel lb = new JLabel(new ImageIcon("A.png"));picturePanels.add(lb);JPanel dialogPanels = new JPanel();dialogPanels.setLayout(new BorderLayout());dialogPanels.add(titlePanels,BorderLayout.NORTH);dialogPanels.add(labelPanels,BorderLayout.WEST);dialogPanels.add(textFieldPanels,BorderLayout.CENTER);dialogPanels.add(buttonPanels,BorderLayout.SOUTH);dialogPanels.add(picturePanels,BorderLayout.EAST);add(dialogPanels);exitButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){System.exit(0);}});loginButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){Connection con=Login.getConnection();try{Statement state=con.createStatement();user = nameField.getText();pwd = passwordField.getPassword();String pwds = new String(pwd);String sql = "select 密码from 操作人员where 用户名='"+user+"'";ResultSet rs = state.executeQuery(sql);rs.next();if(pwds.equals("")||user.equals("")){JOptionPane.showMessageDialog(null,"用户名或密码不能为空!","错误",JOptionPane.ERROR_MESSAGE);}else if(!(rs.getString("密码").equals(pwds))){JOptionPane.showMessageDialog(null,"用户名或密码错误!","错误",JOptionPane.ERROR_MESSAGE);}else{new Goods();dispose();}Login.closeConn(con);Login.closeState(state);Login.closeRs(rs);}catch(SQLException e){JOptionPane.showMessageDialog(null,"用户名或密码错误!","错误",JOptionPane.ERROR_MESSAGE);}}});}public static void closeConn(Connection conn){try {if(conn != null){conn.close();}} catch (SQLException e) {e.printStackTrace();}}public static void closeState(Statement state) {try {if(state != null){state.close();}} catch (SQLException e) {e.printStackTrace();}}public static void closeRs(ResultSet rs) {try {if(rs != null){rs.close();}} catch (SQLException e) {e.printStackTrace();}}//连接数据库public static Connection getConnection(){String userName = "sa";String userPwd = "123";Connection conn=null;try {Class.forName(driverName);conn = DriverManager.getConnection(dbURL, userName, userPwd);}catch (Exception e){e.printStackTrace();}return conn;}}//菜单界面class Goods{private static final long serialVersionUID=1L;static final int WIDTH=760;static final int HEIGHT=510;JPopupMenu pop;JMenuItem item2;JFrame f;JMenuItem item1;JPanel p;JTabbedPane tp;public Goods(){f=new JFrame("梦之路时尚天堂商品管理系统");JMenuBar menubar1=new JMenuBar();tp=new JTabbedPane();p=new JPanel();f.setJMenuBar(menubar1);f.add(p);p.add(tp);JMenu menu1=new JMenu("顾客信息系统");menu1.setMnemonic('Z');menubar1.add(menu1);JMenuItem item1=new JMenuItem("添加客户信息");JMenuItem item2=new JMenuItem("修改客户信息");JMenuItem item3=new JMenuItem("查询客户信息");JMenuItem item4=new JMenuItem("删除客户信息");JMenuItem item5=new JMenuItem("退出");menu1.add(item1);menu1.add(item2);menu1.add(item3);menu1.add(item4);menu1.add(item5);f.add(p);JLabel lb = new JLabel(new ImageIcon("SC.jpg"));p.add(lb);f.setVisible(true);f.setSize(WIDTH,HEIGHT);Toolkit kit=Toolkit.getDefaultToolkit();Dimension screenSize=kit.getScreenSize();int width=screenSize.width;int height=screenSize.height;int x=(width-WIDTH)/2;int y=(height-HEIGHT)/2;f.setLocation(x,y);item1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Add con1=new Add();tp.addTab("添加客户信息",con1);tp.setEnabledAt(0,true);tp.setTitleAt(0,"添加客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Update con2=new Update();tp.addTab("修改客户信息",con2);tp.setEnabledAt(0,true);tp.setTitleAt(0,"修改客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Select con3=new Select();tp.addTab("查询客户信息",con3);tp.setEnabledAt(0,true);tp.setTitleAt(0,"查询客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item4.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Delect con4=new Delect();tp.addTab("删除客户信息",con4);tp.setEnabledAt(0,true);tp.setTitleAt(0,"删除客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});menu1.addMenuListener(new MenuListener(){public void menuSelected(MenuEvent event){item2.setEnabled(!item1.isSelected());}public void menuDeselected(MenuEvent event){}public void menuCanceled(MenuEvent event){}});}}//信息添加class Add extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Add(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定");JButton clear=new JButton("清空");JButton c=new JButton("关闭");JLabel name=new JLabel("姓名");JLabel phone=new JLabel("电话号码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("客户编码");JLabel years=new JLabel("年龄");Font font=new Font("Serief", Font.BOLD, 22);final JTextField nameinput=new JTextField(10);final JTextField phoneinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);JLabel title=new JLabel("顾客基本信息");title.setFont(font);title.setForeground(Color.blue);JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(title,constraints,0,0,4,1);add(num,constraints,0,4,1,1);add(name,constraints,0,1,1,1);add(phone,constraints,0,5,1,1);add(sex,constraints,0,3,1,1);add(years,constraints,0,2,1,1);add(nameinput,constraints,1,1,1,1);add(phoneinput,constraints,1,5,1,1);add(sexinput,constraints,1,3,1,1);add(numinput,constraints,1,4,1,1);add(yearsinput,constraints,1,2,1,1);add(ok,constraints,3,1,1,1);add(clear,constraints,3,3,1,1);add(c,constraints,3,5,1,1);c.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){removeAll();}});ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String nametext=nameinput.getText();String phonetext=phoneinput.getText();String sextext=sexinput.getText();String numtext=numinput.getText();String yearstext=yearsinput.getText();try{Connection con= DriverManager.getConnection(url,user,password);prestmt=con.prepareStatement("INSERT INTO customer顾客VALUES(?,?,?,?,?)" );prestmt.setString(5,phonetext);prestmt.setString(2,nametext);prestmt.setString(4,sextext);prestmt.setString(1,numtext);prestmt.setString(3,yearstext);prestmt.executeUpdate();con.close();JOptionPane.showMessageDialog(null,"信息添加成功","OK",RMATION_MESSAGE);}catch(SQLException ex) {}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){nameinput.setText("");phoneinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}//信息修改class Update extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Update(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定");JButton clear=new JButton("清空");JButton c=new JButton("关闭");JLabel name=new JLabel("姓名");JLabel phone=new JLabel("电话号码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("客户编码");JLabel years=new JLabel("年龄");final JTextField nameinput=new JTextField(10);final JTextField phoneinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);JLabel title=new JLabel("修改基本信息");Font font=new Font("Serief", Font.BOLD, 22);title.setFont(font);title.setForeground(Color.blue);//设置标签前景色JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(title,constraints,0,0,4,1);add(name,constraints,0,1,1,1);add(phone,constraints,0,5,1,1);add(sex,constraints,0,3,1,1);add(num,constraints,0,4,1,1);add(nameinput,constraints,1,1,1,1);add(phoneinput,constraints,1,5,1,1);add(sexinput,constraints,1,3,1,1);add(numinput,constraints,1,4,1,1);add(years,constraints,0,2,1,1);add(yearsinput,constraints,1,2,1,1);add(ok,constraints,3,1,1,1);add(clear,constraints,3,3,1,1);add(c,constraints,3,5,1,1);c.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){removeAll();}});ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event) {try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String nametext=nameinput.getText();String phonetext=phoneinput.getText();String sextext=sexinput.getText();String numtext=numinput.getText();String yearstext=yearsinput.getText();try{Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("update customer顾客set cname=?,csex=?,ctelephone=?,cage=? WHERE cno=?");prestmt.setString(1,nametext);prestmt.setString(2,sextext);prestmt.setString(5,numtext);prestmt.setString(4,yearstext);prestmt.setString(3,phonetext);prestmt.executeUpdate();prestmt.close();conn.close();JOptionPane.showMessageDialog(null,"信息修改成功","OK",RMATION_MESSAGE);}catch(SQLException ex) {ex.printStackTrace();}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){nameinput.setText("");phoneinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}//信息删除class Delect extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Delect(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定删除此顾客!");JButton clear=new JButton("清空");JLabel c=new JLabel("客户编码");Font font=new Font("Serief", Font.BOLD, 22);c.setFont(font);c.setForeground(Color.blue);//设置标签前景色final JTextField d=new JTextField(16);JLabel title=new JLabel("识别信息");JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=6;add(c,constraints,0,1,1,1);add(d,constraints,1,1,1,1);add(ok,constraints,0,2,1,1);add(clear,constraints,1,2,1,1);ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;try{ Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("DELETE FROM customer顾客WHERE cno=?");prestmt.setString(1,d.getText());prestmt.executeUpdate();prestmt.close();conn.close();JOptionPane.showMessageDialog(null,"该顾客记录已删除","OK",RMATION_MESSAGE);}catch(SQLException ex) {}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){d.setText("");}});}}//顾客信息查询class Select extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Select(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定查询此顾客");JButton clear=new JButton("清空");JLabel c=new JLabel("客户编码");final JTextField d=new JTextField(16);JLabel title=new JLabel("识别信息");JButton additionbutton=new JButton("添加");JLabel name=new JLabel("姓名");JLabel id=new JLabel("客户编码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("电话号码");JLabel years=new JLabel("年龄");final JTextField nameinput=new JTextField(10);final JTextField idinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(c,constraints,0,1,1,1);add(d,constraints,1,1,1,1);add(ok,constraints,0,2,1,1);add(clear,constraints,1,2,1,1);add(id,constraints,0,3,1,1);add(name,constraints,0,4,1,1);add(sex,constraints,0,5,1,1);add(num,constraints,0,7,1,1);add(years,constraints,0,6,1,1);add(idinput,constraints,1,3,1,1);add(nameinput,constraints,1,4,1,1);add(sexinput,constraints,1,5,1,1);add(numinput,constraints,1,7,1,1);add(yearsinput,constraints,1,6,1,1);ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){{try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String dtext=d.getText();try{Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("Selectcno,cname,csex,ctelephone,cage FROM customer顾客WHERE cno=?");prestmt.setString(1,d.getText());rs=prestmt.executeQuery();if(rs.next()){idinput.setText(rs.getString(1));nameinput.setText(rs.getString(2));sexinput.setText(rs.getString(3));numinput.setText(rs.getString(4));yearsinput.setText(rs.getString(5));}else{JOptionPane.showMessageDialog(null,"未查到该顾客记录","ERROR",RMATION_MESSAGE);}conn.close();}catch(SQLException ex) {}}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){d.setText("");idinput.setText("");nameinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}。

课程设计使用面向对象的JAVA编程技术设计实现计算器(含源代码)

课程设计使用面向对象的JAVA编程技术设计实现计算器(含源代码)

************************课程设计报告************************浙江大学计算机学院2009年第一学期面向对象JAVA编程技术课程设计题目:计算器类的设计与实现专业班级:姓名:学号:指导教师:成绩:编写一个简单的计算器程序。

实现加、减、乘、除等功能,可以根据自己的兴趣,扩充计算器的功能。

程序应提供的基本管理功能有:1)选择计算功能2)计算数据的输入3)实现加、减、乘、除等基本计算功能4)计算结果的输出关键字:窗口组件;按钮;屏幕;监视器通过这次的课程设计,更让我深刻意识到自己在学习中的弱点,同时也找到了克服这些弱点的方法,这也是一笔很大的资源。

在以后的时间中,我应该利用更多的时间去上机实验,多编写程序,相信不久后我的编程能力都会有很大的提高。

这次课程设计,通过对程序的编制,调试和运行,使我更好的掌握了用Java实现图形界面的方法,和用监视器控制组件的过程,熟悉了各种调用的数据类型。

在调试和运行过程中使我更加的了解和熟悉程序运行的环境,提高了我对程序调试分析的能力和对错误的纠正能力。

课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。

摘要 (1)前言 (2)目录 (3)第1章设计描述 (4)1.1问题描述 (4)1.2函数结构 (4)1.3状态图 (4)第2章系统分析 (6)2.1流程图 (6)2.2需求分析 (6)第3章程序设计 (8)3.1窗口类程序代码 (8)3.2监视器类程序代码 (10)第4章测试分析 (14)4.1程序代码 (14)(1)加法运算: (14)(2)减法,乘法运算操作如同加法 (15)(3)除法运算: (15)(4)控制按钮: (16)(5)输入错误提示 (18)4.2简单操作手册 (18)总结及致谢 (19)参考文献 (20)附件Ⅰ源程序代码 (21)第1章设计描述1.1问题描述1.2函数结构1.3状态图设计状态图,初始状态(S0)下显示器没有显示,利用鼠标操作可以输入小数和整数,如下状态S(小数点)和S(整数)第2章系统分析2.1流程图开始输入数字0~9或者小数点.数字0~9?之前是否输入了运算操作符输入的是一个新的数值将该数字添加到原有的数值之后按钮为小数点.,若之前没有输入过小数点.,则将小数点添加到原有的数值之后是是否否2.2需求分析第3章程序设计3.1窗口类程序代码3.2监视器类程序代码第4章测试分析4.1程序代码(1)加法运算:鼠标点击输入第一个数:输入运算符:输入第二个数:点击按钮等于:(2)减法,乘法运算操作如同加法(3)除法运算:如果分母不为0,如同加法运算;如果为0,则显示结果如下图所示:输入被除数:输入符号:输入除数为0计算结果:(4)控制按钮:Back按钮:按Back按钮显示结果:CE/C按钮:CE按钮:清除当前的输入数,如之前已存在了第一个运算数,不影响第一个运算数;C按钮:清空所有的数字及运算符,回到初始状态。

《面向对象程序设计(Java)》专科课程实验报告

《面向对象程序设计(Java)》专科课程实验报告
教师签名







1.熟悉安装和配置JDK开发环境
2.熟悉安装和配置IDE开发工具
3.掌握Java程序编辑、编译和运行的过程









1.写出Java程序开发环境的安装配置一般步骤
当前计算机系统安装路径:__
当前计算机系统设置的环境变量:PATH _____________________________
}}
【代码1】:
【代码2】:
【代码3】:
3.程序为数组及其排序
import java.util.*;
public classArrayAndSort{
public static void main(String args[]) {
int [] a={12,34,9,23,45,6,45,90,123,19,34};
___________________
CLASSPATH_____________________________________________________
___________
2.用记事本输入如下程序并通过配置好的JDK环境,利用相关命令获取结果
public class HelloJava{
}
}
public class Example{
public static void main(String args[]){
【代码5】//通过类名操作类变量b,并赋值100
【代码6】//通过类名调用方法inputB()
A cat=new A();
A dog=new A();

JAVA面向对象程序设计课程报告参考模板

JAVA面向对象程序设计课程报告参考模板

JA V A面向对象程序设计课程报告学院____ 自动化 ____________专业____ 自动化 ____________年级班别__13级自动化(卓越工程师一班)学号_____ 3113000993_____________学生姓名_____ 鲁梦如______________2015年4月30 日JAVA面向对象程序设计课程报告评分标准要求:1、题目(四号、黑体,居中)2、完整源代码(中文:小四,宋体;英文:小四,Times New Roman,单倍行距)。

3、运行界面截图。

4、单面打印,课程报告正文不少于5页,在报告左侧用两颗钉书针装订。

正文目录一、源代码二、代码运行效果截图三、参考文献简单计算器的实现一、源代码import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class Calculator extends JFrame implements ActionListener {/** 计算器上的键的显示名字*/private final String[] KEYS = { "7", "8", "9", "/", "sqrt", "4", "5", "6","*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" };/** 计算器上的功能键的显示名字*/private final String[] COMMAND = { "Backspace", "CE", "C" };/** 计算器左边的M的显示名字*/private final String[] M = { " ", "MC", "MR", "MS", "M+" };/** 计算器上键的按钮*/private JButton keys[] = new JButton[KEYS.length];/** 计算器上的功能键的按钮*/private JButton commands[] = new JButton[COMMAND.length];/** 计算器左边的M的按钮*/private JButton m[] = new JButton[M.length];/** 计算结果文本框*/private JTextField resultText = new JTextField("0");// 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字private boolean firstDigit = true;// 计算的中间结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java程序设计报告年级专业信息管理与信息系统学号学生姓名指导教师二○一四年六月一、所用到的表的结构及数据类型customer顾客表操作人员表1、登录功能打开Java文件Login.java运行后输入错误的用户名后出现:输入用户名Lucy 密码:123点击登录进入操作界面:2、添加功能下拉顾客信息系统菜单,选择添加客户信息添加信息前数据库客户表的内容:没有编号0000013添加客户0000013:数据库内表变为:注:0000015号是截图之前添加进去的3、查询功能下拉客户信息系统菜单,选择查询客户信息,输入客户编码0000013后点击确定查询此顾客:4、修改功能下拉菜单客户信息系统,选择修改客户信息,重新输入相应的正确信息,将错误的覆盖掉,此处将0000013张蔷年龄改为32:数据库表内内容:5、删除功能下拉菜单客户信息系统,选择删除客户信息,输入客户编码0000013点击确认:数据库信息变为:0000013号信息已经删除6、退出系统功能下拉菜单客户信息管理选择退出:然后就退出了界面。

三、程序源代码package LoginSystem;import java.sql.*;import java.io.*;import javax.swing.*;import java.awt.*;//登录界面public class Login extends JFrame{private TextField nameField = new TextField(10);private JPasswordField passwordField = new JPasswordField(15); private JButton loginButton = new JButton("登录");private JButton exitButton = new JButton("退出");private JLabel titleLabel = new JLabel("梦之路时尚天堂商品管理系统"); private JLabel userLabel = new JLabel("用户名");private JLabel pwdLabel = new JLabel("密码");private String user = null;private char[] pwd = null;public static void main(String args[]){Login frame = new Login();frame.setTitle("系统登录");frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);frame.setResizable(false);frame.setLocation(600,300);frame.pack();frame.setVisible(true);}public Login(){JPanel titlePanels = new JPanel();titlePanels.add(titleLabel);titleLabel.setForeground(Color.red);JPanel labelPanels = new JPanel();labelPanels.setLayout(new GridLayout(2,1,10,40));labelPanels.add(userLabel);labelPanels.add(pwdLabel);JPanel textFieldPanels = new JPanel();textFieldPanels.setLayout(new GridLayout(2,1,10,40));textFieldPanels.add(nameField);textFieldPanels.add(passwordField);JPanel buttonPanels = new JPanel();buttonPanels.add(loginButton);buttonPanels.add(exitButton);JPanel picturePanels = new JPanel();JLabel lb = new JLabel(new ImageIcon("A.png"));picturePanels.add(lb);JPanel dialogPanels = new JPanel();dialogPanels.setLayout(new BorderLayout());dialogPanels.add(titlePanels,BorderLayout.NORTH);dialogPanels.add(labelPanels,BorderLayout.WEST);dialogPanels.add(textFieldPanels,BorderLayout.CENTER);dialogPanels.add(buttonPanels,BorderLayout.SOUTH);dialogPanels.add(picturePanels,BorderLayout.EAST);add(dialogPanels);exitButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){System.exit(0);}});loginButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){Connection con=Login.getConnection();try{Statement state=con.createStatement();user = nameField.getText();pwd = passwordField.getPassword();String pwds = new String(pwd);String sql = "select 密码from 操作人员where 用户名='"+user+"'";ResultSet rs = state.executeQuery(sql);rs.next();if(pwds.equals("")||user.equals("")){JOptionPane.showMessageDialog(null,"用户名或密码不能为空!","错误",JOptionPane.ERROR_MESSAGE);}else if(!(rs.getString("密码").equals(pwds))){JOptionPane.showMessageDialog(null,"用户名或密码错误!","错误",JOptionPane.ERROR_MESSAGE);}else{new Goods();dispose();}Login.closeConn(con);Login.closeState(state);Login.closeRs(rs);}catch(SQLException e){JOptionPane.showMessageDialog(null,"用户名或密码错误!","错误",JOptionPane.ERROR_MESSAGE);}}});}public static void closeConn(Connection conn){try {if(conn != null){conn.close();}} catch (SQLException e) {e.printStackTrace();}}public static void closeState(Statement state) {try {if(state != null){state.close();}} catch (SQLException e) {e.printStackTrace();}}public static void closeRs(ResultSet rs) {try {if(rs != null){rs.close();}} catch (SQLException e) {e.printStackTrace();}}//连接数据库public static Connection getConnection(){String userName = "sa";String userPwd = "123";Connection conn=null;try {Class.forName(driverName);conn = DriverManager.getConnection(dbURL, userName, userPwd);}catch (Exception e){e.printStackTrace();}return conn;}}//菜单界面class Goods{private static final long serialVersionUID=1L;static final int WIDTH=760;static final int HEIGHT=510;JPopupMenu pop;JMenuItem item2;JFrame f;JMenuItem item1;JPanel p;JTabbedPane tp;public Goods(){f=new JFrame("梦之路时尚天堂商品管理系统");JMenuBar menubar1=new JMenuBar();tp=new JTabbedPane();p=new JPanel();f.setJMenuBar(menubar1);f.add(p);p.add(tp);JMenu menu1=new JMenu("顾客信息系统");menu1.setMnemonic('Z');menubar1.add(menu1);JMenuItem item1=new JMenuItem("添加客户信息");JMenuItem item2=new JMenuItem("修改客户信息");JMenuItem item3=new JMenuItem("查询客户信息");JMenuItem item4=new JMenuItem("删除客户信息");JMenuItem item5=new JMenuItem("退出");menu1.add(item1);menu1.add(item2);menu1.add(item3);menu1.add(item4);menu1.add(item5);f.add(p);JLabel lb = new JLabel(new ImageIcon("SC.jpg"));p.add(lb);f.setVisible(true);f.setSize(WIDTH,HEIGHT);Toolkit kit=Toolkit.getDefaultToolkit();Dimension screenSize=kit.getScreenSize();int width=screenSize.width;int height=screenSize.height;int x=(width-WIDTH)/2;int y=(height-HEIGHT)/2;f.setLocation(x,y);item1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Add con1=new Add();tp.addTab("添加客户信息",con1);tp.setEnabledAt(0,true);tp.setTitleAt(0,"添加客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Update con2=new Update();tp.addTab("修改客户信息",con2);tp.setEnabledAt(0,true);tp.setTitleAt(0,"修改客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Select con3=new Select();tp.addTab("查询客户信息",con3);tp.setEnabledAt(0,true);tp.setTitleAt(0,"查询客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item4.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Delect con4=new Delect();tp.addTab("删除客户信息",con4);tp.setEnabledAt(0,true);tp.setTitleAt(0,"删除客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});menu1.addMenuListener(new MenuListener(){public void menuSelected(MenuEvent event){item2.setEnabled(!item1.isSelected());}public void menuDeselected(MenuEvent event){}public void menuCanceled(MenuEvent event){}});}}//信息添加class Add extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Add(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定");JButton clear=new JButton("清空");JButton c=new JButton("关闭");JLabel name=new JLabel("姓名");JLabel phone=new JLabel("电话号码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("客户编码");JLabel years=new JLabel("年龄");Font font=new Font("Serief", Font.BOLD, 22);final JTextField nameinput=new JTextField(10);final JTextField phoneinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);JLabel title=new JLabel("顾客基本信息");title.setFont(font);title.setForeground(Color.blue);JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(title,constraints,0,0,4,1);add(num,constraints,0,4,1,1);add(name,constraints,0,1,1,1);add(phone,constraints,0,5,1,1);add(sex,constraints,0,3,1,1);add(years,constraints,0,2,1,1);add(nameinput,constraints,1,1,1,1);add(phoneinput,constraints,1,5,1,1);add(sexinput,constraints,1,3,1,1);add(numinput,constraints,1,4,1,1);add(yearsinput,constraints,1,2,1,1);add(ok,constraints,3,1,1,1);add(clear,constraints,3,3,1,1);add(c,constraints,3,5,1,1);c.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){removeAll();}});ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String nametext=nameinput.getText();String phonetext=phoneinput.getText();String sextext=sexinput.getText();String numtext=numinput.getText();String yearstext=yearsinput.getText();try{Connection con= DriverManager.getConnection(url,user,password);prestmt=con.prepareStatement("INSERT INTO customer顾客VALUES(?,?,?,?,?)" );prestmt.setString(5,phonetext);prestmt.setString(2,nametext);prestmt.setString(4,sextext);prestmt.setString(1,numtext);prestmt.setString(3,yearstext);prestmt.executeUpdate();con.close();JOptionPane.showMessageDialog(null,"信息添加成功","OK",RMATION_MESSAGE);}catch(SQLException ex) {}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){nameinput.setText("");phoneinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}//信息修改class Update extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Update(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定");JButton clear=new JButton("清空");JButton c=new JButton("关闭");JLabel name=new JLabel("姓名");JLabel phone=new JLabel("电话号码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("客户编码");JLabel years=new JLabel("年龄");final JTextField nameinput=new JTextField(10);final JTextField phoneinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);JLabel title=new JLabel("修改基本信息");Font font=new Font("Serief", Font.BOLD, 22);title.setFont(font);title.setForeground(Color.blue);//设置标签前景色JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(title,constraints,0,0,4,1);add(name,constraints,0,1,1,1);add(phone,constraints,0,5,1,1);add(sex,constraints,0,3,1,1);add(num,constraints,0,4,1,1);add(nameinput,constraints,1,1,1,1);add(phoneinput,constraints,1,5,1,1);add(sexinput,constraints,1,3,1,1);add(numinput,constraints,1,4,1,1);add(years,constraints,0,2,1,1);add(yearsinput,constraints,1,2,1,1);add(ok,constraints,3,1,1,1);add(clear,constraints,3,3,1,1);add(c,constraints,3,5,1,1);c.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){removeAll();}});ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event) {try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String nametext=nameinput.getText();String phonetext=phoneinput.getText();String sextext=sexinput.getText();String numtext=numinput.getText();String yearstext=yearsinput.getText();try{Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("update customer顾客set cname=?,csex=?,ctelephone=?,cage=? WHERE cno=?");prestmt.setString(1,nametext);prestmt.setString(2,sextext);prestmt.setString(5,numtext);prestmt.setString(4,yearstext);prestmt.setString(3,phonetext);prestmt.executeUpdate();prestmt.close();conn.close();JOptionPane.showMessageDialog(null,"信息修改成功","OK",RMATION_MESSAGE);}catch(SQLException ex) {ex.printStackTrace();}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){nameinput.setText("");phoneinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}//信息删除class Delect extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Delect(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定删除此顾客!");JButton clear=new JButton("清空");JLabel c=new JLabel("客户编码");Font font=new Font("Serief", Font.BOLD, 22);c.setFont(font);c.setForeground(Color.blue);//设置标签前景色final JTextField d=new JTextField(16);JLabel title=new JLabel("识别信息");JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=6;add(c,constraints,0,1,1,1);add(d,constraints,1,1,1,1);add(ok,constraints,0,2,1,1);add(clear,constraints,1,2,1,1);ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;try{ Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("DELETE FROM customer顾客WHERE cno=?");prestmt.setString(1,d.getText());prestmt.executeUpdate();prestmt.close();conn.close();JOptionPane.showMessageDialog(null,"该顾客记录已删除","OK",RMATION_MESSAGE);}catch(SQLException ex) {}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){d.setText("");}});}}//顾客信息查询class Select extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Select(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定查询此顾客");JButton clear=new JButton("清空");JLabel c=new JLabel("客户编码");final JTextField d=new JTextField(16);JLabel title=new JLabel("识别信息");JButton additionbutton=new JButton("添加");JLabel name=new JLabel("姓名");JLabel id=new JLabel("客户编码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("电话号码");JLabel years=new JLabel("年龄");final JTextField nameinput=new JTextField(10);final JTextField idinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(c,constraints,0,1,1,1);add(d,constraints,1,1,1,1);add(ok,constraints,0,2,1,1);add(clear,constraints,1,2,1,1);add(id,constraints,0,3,1,1);add(name,constraints,0,4,1,1);add(sex,constraints,0,5,1,1);add(num,constraints,0,7,1,1);add(years,constraints,0,6,1,1);add(idinput,constraints,1,3,1,1);add(nameinput,constraints,1,4,1,1);add(sexinput,constraints,1,5,1,1);add(numinput,constraints,1,7,1,1);add(yearsinput,constraints,1,6,1,1);ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){{try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String dtext=d.getText();try{Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("Selectcno,cname,csex,ctelephone,cage FROM customer顾客WHERE cno=?");prestmt.setString(1,d.getText());rs=prestmt.executeQuery();if(rs.next()){idinput.setText(rs.getString(1));nameinput.setText(rs.getString(2));sexinput.setText(rs.getString(3));numinput.setText(rs.getString(4));yearsinput.setText(rs.getString(5));}else{JOptionPane.showMessageDialog(null,"未查到该顾客记录","ERROR",RMATION_MESSAGE);}conn.close();}catch(SQLException ex) {}}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){d.setText("");idinput.setText("");nameinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}。

相关文档
最新文档