实验五Java项目开发实例
java实验5图形用户界面设计试验
java实验5图形⽤户界⾯设计试验常⽤布局1)、流布局: FlowLayout 从左到右,⾃上⽽下⽅式在容器中排列,控件的⼤⼩不会随容器⼤⼩变化.容器.setLayout(new FlowLayout(FlowLayout.LEFT));2)、⽹格布局: GridLayout 按照指定⾏数与列数,将容器分成⼤⼩相等的单元格每个单元格放置⼀个控件. 不能将控件放在指定单元格 容器.setLayout(new GridLayout(3,4,10,15));3)、边界布局: BorderLayout 将容器分成东、西、南、北、中五个部分 容器.setLayout(new BorderLayout()); 窗⼝的内容⾯板默认布局就是边界布局。
容器.add(控件,BorderLayout.NORTH);4)、混合布局: 使⽤JPanel,将多个布局组合在⼀起使⽤5)、绝对布局 null: 以坐标定位 容器.setLayout(null); 每个控件在放置在容器之前,必须设置其边界 setBounds(x,y,width,height); btn.setBounds(10,100,30,60);常⽤事件1)、事件源 EventSource:能够触发事件控件如:JButton,JTextField,JFrame,JComboBox,....2)、事件 Event:ActionEvent,KeyEvent,WindowEvent,TextEvent,...3)、事件侦听者Listener(接⼝) ActionListener,WindowListener,...class A implements ActionListener{public void actionPerformed(ActionEvent e){....}}A lis=new A();4)、事件处理函数public void actionPerformed(ActionEvent e){....}事件流程:事件源触发事件-->事件源侦听者接收事件-->⾃动调⽤相应事件处理函数.实践编程1.在应⽤程序窗体中安排1个⽂本框,⼀个标签。
JAVA实验报告5异常处理实验
JAVA实验报告5异常处理实验异常处理是Java程序设计中非常重要的一部分,能够有效地处理程序在运行过程中可能出现的异常情况。
在本次实验中,我们主要学习了Java中的异常处理机制,并对其进行了实践。
一、实验目的:1、学习Java中的异常处理机制;2、掌握如何使用try-catch来处理异常;3、了解Java中常见的异常类和异常处理语句的使用方法。
二、实验内容:1、编写一个Java程序,在程序中故意引发一个异常,然后使用try-catch语句来处理该异常,并在catch块中打印异常的详细信息;2、使用多个catch块来处理不同类型的异常,并在每个catch块中打印对应异常的详细信息;3、使用finally块来执行一些必须要执行的代码,比如关闭文件等。
三、实验步骤:1、首先,我们编写一个简单的Java程序,使用try-catch语句来处理异常。
假设我们在程序中故意除以0,然后在catch块中打印出异常信息。
代码如下:```public class ExceptionHandlingDemopublic static void main(String[] args)tryint result = 10 / 0;} catch (ArithmeticException e)System.out.println("发生异常:" + e);}}```2、接下来,我们使用多个catch块来处理不同类型的异常。
假设我们在程序中使用一个空数组,然后尝试访问数组的第一个元素。
如果数组为空,则会抛出ArrayIndexOutOfBoundsException异常。
代码如下:```public class ExceptionHandlingDemopublic static void main(String[] args)int[] array = new int[0];tryint firstElement = array[0];} catch (ArrayIndexOutOfBoundsException e)System.out.println("发生异常:" + e);} catch (Exception e)System.out.println("未知异常:" + e);}}```3、最后,我们使用finally块来执行一些必须要执行的代码。
java项目开发案例
java项目开发案例最近,我参与了一个Java项目的开发,下面我将向大家介绍这个项目的情况以及我的参与经历。
这个Java项目是一个在线教育平台,在该平台上,用户可以注册账号并购买在线课程。
用户注册成功后,可以搜索并选择自己感兴趣的课程进行购买,也可以在课程下留下评论和评分。
我在这个项目中主要负责后端开发工作。
首先,我参与了需求分析和系统设计阶段。
通过讨论和分析,我们确定了平台的基本功能以及技术实现方式。
接下来,我根据需求和设计文档开始了编码工作。
我首先构建了用户管理模块。
该模块负责用户的注册、登录和个人信息管理等功能。
我使用了Spring框架来构建该模块,并使用Hibernate框架完成数据库操作。
接着,我开始编写课程管理模块。
该模块负责课程的搜索、购买和评论等功能。
我使用了Spring MVC框架来构建该模块,并使用MyBatis框架完成数据库操作。
为了实现评论和评分功能,我还使用了Redis作为缓存数据库,以提高数据访问效率。
除了以上两个模块,我还负责了系统日志管理模块的开发。
该模块用于记录用户的操作日志以及系统出现的异常情况。
我使用了Log4j框架来实现该模块,并将日志信息保存到数据库中。
在开发过程中,我遇到了一些挑战和困难。
首先是对新技术的学习和应用。
由于之前没有使用过Spring和Hibernate等框架,我花了一些时间去学习它们的使用方法和原理。
其次是性能优化。
随着平台的用户越来越多,数据库的负载也越来越大,为了提高系统的响应速度,我使用了一些性能优化的技术,如数据库索引的优化和缓存的使用。
最后,在项目开发完成后,我还参与了一些测试工作,确保系统的功能和稳定性。
通过测试,我们发现了一些潜在的问题,并及时进行了修复。
通过参与这个项目的开发,我对Java开发的技术和流程有了更深入的了解和掌握。
同时,我也提高了解决问题和合作协作的能力。
这个项目的成功不仅得益于团队的共同努力,也得益于我个人的成长和进步。
java 项目开发实例
java 项目开发实例
1. 图书管理系统
实现图书的录入、借阅、归还、查询等功能,包括管理员和用户两个角色。
管理员可以管理图书的添加、删除、更新等操作,用户可以借阅图书、归还图书、查询图书信息等操作。
2. 学生成绩管理系统
实现学生成绩的录入、查询、统计等功能,包括学生和教师两个角色。
学生可以查询自己的成绩,教师可以管理学生成绩,包括录入成绩、修改成绩等操作。
3. 在线购物系统
实现用户的注册、登录、浏览商品、添加购物车、下单、支付等功能。
包括商品的分类、商品详情展示、购物车的管理、订单的管理等模块。
4. 客户管理系统
实现客户信息的录入、查询、编辑、删除等功能。
包括客户的基本信息、联系方式、订单记录等模块。
5. 论坛系统
实现用户的注册、登录、发帖、回帖、浏览帖子等功能。
包括帖子的置顶、精华、分类等模块。
6. 在线考试系统
实现试题的录入、试卷生成、考试计时、成绩统计等功能。
包括试题的分类、试卷的生成、考试的管理等模块。
7. 酒店预订系统
实现酒店的浏览、房间预订、订单管理等功能。
包括酒店的信息展示、房间的选择、订单的生成等模块。
8. 学生选课系统
实现学生选课、查询课程信息、查询成绩等功能。
包括课程的信息、选课的管理、成绩的管理等模块。
9. 人事管理系统
实现员工的录入、查询、编辑、删除等功能。
包括员工的基本信息、考勤记录、薪资管理等模块。
10. 聊天室系统
实现用户之间的实时聊天功能。
包括用户的注册、登录、好友管理、群聊、私聊等模块。
攀枝花学院Java实验五 常用类
实验报告附页String s7 = new String("123.678");int n1=Integer.parseInt(s6);//将s6转化成int型数据。
double n2=Double.parseDouble(s7); //将s7转化成double型数据。
double m=n1+n2;System.out.println(m);String s8=String.valueOf(m); //String调用valuOf(int n)方法将m转化为字符串对象position=s8.indexOf(".");String temp=s8.substring(position+1);System.out.println("数字"+m+"有"+temp.length()+"位小数") ;@SuppressWarnings("unused")String s9=new String("ABCDEF");char a[]=s8.toCharArray(); //将s8存放到数组a中。
for(int i=a.length-1;i>=0;i--){System.out.print(" "+a[i]);}}}运行结果:将上面程序按如下要求修改,并运行:(1)程序中的s6改写成String s6=new String(“1a12b”);运行时提示怎样的错误?Exception in thread "main" ng.NumberFormatException: For input string: "1a12b"at ng.NumberFormatException.forInputString(Unknown Source)at ng.Integer.parseInt(Unknown Source)at ng.Integer.parseInt(Unknown Source)at xiti2.xiugai.main(xiugai.java:39)(2)请用数组a的前3个单元创建一个字符串并输出该串。
java项目开发案例
Java项目开发案例1. 介绍本文将介绍一个Java项目开发的案例。
我们将使用Java语言开发一个学生信息管理系统,该系统可以实现学生信息的录入、修改、查询和删除等功能。
2. 项目背景在很多学校和教育机构中,学生信息管理是一项非常重要的工作。
传统的学生信息管理通常采用纸质档案或Excel表格的方式进行,但是这种方式效率低下且容易出错。
因此,开发一个学生信息管理系统可以提高工作效率,并且减少人为错误。
3. 项目需求本项目的需求如下:•学生信息包含学生ID、姓名、性别、年龄、班级等属性;•系统需要提供录入学生信息的功能,包括添加学生和批量导入学生信息;•系统需要提供修改学生信息的功能;•系统需要提供查询学生信息的功能,包括按学生ID、姓名、班级等进行查询;•系统需要提供删除学生信息的功能;4. 技术选型为了实现以上需求,我们将使用以下技术进行开发:•Java语言:作为项目主要开发语言,具有广泛的应用和优秀的跨平台性能;•MySQL数据库:存储学生信息和实现持久化操作;•JDBC技术:用于Java程序与数据库的连接和操作;•JSP/Servlet技术:用于实现前端页面和后端逻辑的交互;•Tomcat服务器:用于运行Web应用程序;5. 开发流程本项目的开发流程如下:1.设计数据库表结构:创建一个学生信息表,包含学生ID、姓名、性别、年龄、班级等字段;2.建立Java项目:使用IDE创建一个Java项目;3.导入MySQL驱动:将MySQL驱动导入项目的classpath中;4.编写数据库连接类:使用JDBC技术编写Java类,与MySQL数据库建立连接,并实现学生信息的增删改查功能;5.设计前端页面:使用JSP/Servlet技术设计学生信息管理的前端页面;6.编写后端逻辑:使用JSP/Servlet技术编写后端逻辑,实现学生信息的录入、修改、查询和删除功能;7.配置Tomcat服务器:将项目部署到Tomcat服务器中进行测试;8.测试和调试:使用各种测试用例对系统进行全面测试,修复bug并进行调试;9.优化和改进:根据实际使用情况,对系统进行优化和改进,提高系统的性能和稳定性;6. 项目成果经过以上的开发流程,我们将得到一个具有以下功能的学生信息管理系统:•学生信息的录入功能;•学生信息的修改功能;•学生信息的查询功能;•学生信息的删除功能;7. 总结通过本项目的开发,我们可以学习和掌握Java中与MySQL数据库连接和操作的技术,同时也熟悉了JSP/Servlet技术的应用和使用,提高了我们的Java开发水平。
java开发项目案例
java开发项目案例
1. 学生成绩管理系统:开发一个能够管理学生成绩的系统,包括学生信息管理、课程信息管理、成绩录入、成绩查询等功能。
2. 购物车系统:开发一个在线购物车系统,用户可以将商品加入购物车、从购物车中移除商品、结算等功能,并能够对商品进行分类浏览和搜索。
3. 网上订餐系统:开发一个网上订餐系统,用户可以浏览菜单、下单、取消订单等操作,餐馆能够接收订单、处理并进行配送。
4. 音乐播放器:开发一个简单的音乐播放器,用户能够浏览音乐列表、播放、暂停、停止等操作,还能够对音乐进行收藏和管理。
5. 简易计算器:开发一个简单的计算器程序,用户可以进行基本的数学运算,如加减乘除等。
6. 在线图书管理系统:开发一个在线图书管理系统,用户可以搜索图书、借书、还书、续借等操作,管理员能对图书进行管理、添加新的图书等。
7. 学生课程选课系统:开发一个学生课程选课系统,学生能够浏览课程信息、选课、退课等操作,管理员能对课程进行管理和编辑。
8. 游戏:根据自己的兴趣和能力开发一个你喜欢的游戏,如扑克牌游戏、拼图游戏等。
9. 在线论坛:开发一个在线论坛系统,用户可以发表帖子、回复帖子、搜索帖子等操作,管理员能对帖子进行管理。
10. 酒店管理系统:开发一个酒店管理系统,包括房间预订、订单管理、酒店设施管理等功能,方便酒店进行日常管理和客户服务。
java 实验报告
java 实验报告Java 实验报告引言:Java 是一种广泛应用于软件开发的计算机编程语言,具有跨平台、面向对象、简单易学等特点。
本实验报告将介绍我在学习 Java 过程中进行的一系列实验,包括实验目的、实验过程、实验结果和实验总结。
实验一:Hello World 程序实验目的:通过编写一个简单的 Hello World 程序,熟悉 Java 的开发环境和基本语法。
实验过程:1. 安装 Java Development Kit(JDK)并配置环境变量。
2. 使用文本编辑器编写以下代码:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```3. 将代码保存为 HelloWorld.java。
4. 打开命令提示符,切换到代码所在目录,输入以下命令编译代码:```javac HelloWorld.java```5. 输入以下命令运行程序:```java HelloWorld```实验结果:命令提示符中输出 "Hello, World!"。
实验二:数据类型和运算符实验目的:了解 Java 的数据类型和运算符,并能够正确使用它们进行计算。
实验过程:1. 声明并初始化不同类型的变量,例如整数、浮点数和布尔类型。
2. 使用算术运算符进行基本的数值计算。
3. 使用逻辑运算符进行布尔类型的操作。
实验结果:根据实验过程中的代码和输入,得到相应的计算结果。
实验三:条件语句和循环结构实验目的:掌握 Java 中的条件语句和循环结构,能够根据不同的条件执行相应的代码块。
实验过程:1. 使用 if-else 语句实现条件判断。
2. 使用 switch-case 语句实现多分支选择。
3. 使用 for 循环、while 循环和 do-while 循环实现不同的循环结构。
Java面向对象编程实战案例
Java面向对象编程实战案例1. 简介Java面向对象编程(Object-Oriented Programming,OOP)是一种常用的编程范式,它以对象为中心,通过封装、继承和多态等特性来组织和管理代码。
本文将介绍一些实战案例,展示Java面向对象编程的实际应用。
2. 案例一:学生管理系统学生管理系统是一个典型的Java面向对象编程案例,它常用于学校、培训机构等管理学生信息。
在这个案例中,可以定义一个Student类,包含学生的姓名、年龄、学号等属性,以及学生的增删改查等方法。
可以使用面向对象的思想,将学生信息封装到一个对象中,并使用集合类来管理多个学生对象。
3. 案例二:图形计算器图形计算器是另一个有趣的Java面向对象编程案例。
可以定义一个Shape类作为图形的基类,包含计算图形面积和周长的方法,并派生出Circle、Rectangle和Triangle等子类,分别表示圆形、长方形和三角形。
通过面向对象的继承特性,可以调用对应子类的计算方法,根据用户的输入来计算所需图形的面积和周长。
4. 案例三:银行账户管理系统银行账户管理系统是一个常见的Java面向对象编程案例,用于管理银行的账户信息。
可以定义一个Account类,包含账户的姓名、余额、存取款等方法,并通过封装特性将账户信息隐藏在对象中。
可以使用ArrayList类来存储多个账户对象,实现对账户信息的管理和操作。
5. 案例四:图书馆管理系统图书馆管理系统是另一个典型的Java面向对象编程案例,用于管理图书馆的图书信息。
可以定义一个Book类,包含图书的书名、作者、价格等属性,并封装对应的get和set方法。
可以使用HashMap类来存储图书编号和对应的图书对象,实现图书的检索和借还功能。
还可以定义一个User类表示图书馆的用户,包含用户的姓名、借书数量等属性。
6. 案例五:游戏角色管理系统游戏角色管理系统是一个有趣的Java面向对象编程案例,用于管理游戏中的角色信息。
《Java程序设计》上机实验报告 实验五 流、文件及基于文本的应用
信息科学与工程学院《Java程序设计》上机实验报告专业班级姓名学号主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)2.编写一个程序,能将一个源程序中的空行及注释去掉,并将处理后的内容写到目标文件中。
(源文件名称和目标文件名称均要求以命令行参数形式输入)import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;public class CopyFile {static String delComm(String s){if(s==null)return s;int pos=s.indexOf("//"); //去掉以//开始的注释if(pos<0)return s;return s.substring(0,pos);}public static void main(String args[]){String infname="CopyFile.java";String outfname="CopyFile.txt";if(args.length>=1)infname=args[0];if(args.length>=2)outfname=args[1];try{File fin=new File(infname);File fout=new File(outfname);BufferedReader in = new BufferedReader(new FileReader(fin));PrintWriter out = new PrintWriter(new FileWriter(fout));int cnt=0;String s = in.readLine(); //写字符串while(s != null){主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)cnt ++;s=delComm(s); //去掉以//开始的注释out.println(cnt+":\t"+s);//写出s=in.readLine(); //读入}in.close(); //关闭缓冲读入流及文件读入流的连接out.close();}catch (FileNotFoundException e1){System.out.println("File not found");}catch(IOException e2){e2.printStackTrace();}}}主要问题的出错现象:1)运行程序后,无对应的输出结果出现2)源程序编写过程中,出现方法和类的调用无法完成.出错原因:1)函数调用时候,相关函数输入变量错误2)方法名的书写不符合规范,使得方法变为变量.解决方法及效果:1) 编写和调用类的方法时,注意参数的类型和数量的对应.2)规范命名.常量用大写字母,变量用小写字母开始,类以大写字母开始.实验小结:1) 为每个类分配正确的职责.尽量保持类功能单一. 不要在一个类中做太多事.2) BufferedReader的方法:readLine():String ,当他的返回值是null时,就表示读取完毕了。
Java实验5
实验5Windows图形程序设计一、实验目的:1、学习使用框架、面板、和简单用户界面UI组件。
2、学习使用布局管理器。
3、学习使用JavaBean组件创建图形用户界面应用程序。
4、理解和学习Windows事件驱动程序。
5、熟悉Java事件委托模式:事件的注册、监听和处理。
6、学习掌握掌握对象数组深复制的方法。
二、实验任务:1、使用Java SDK创建一个Windows图形界面应用程序。
2、实现一个能做算术运算的用户界面。
界面包括标签和文本域Number1、Number2、Result。
Result文本域用于显示Number1和Number2的算术运算的结果。
程序使用四个按钮,它们分别标有Add、Subtract、Multiply和Divide。
程序也创建了完成相同功能运算的菜单。
三、实验步骤:1、首先设置环境变量,保证在任何目录下都可以使用Java SDK编程工具。
如果Java SDK的安装目录为C:\j2sdk1.4.2_09,则在命令提示符状态(从附件中进入)下键入如下命令行设置环境变量:path C:\j2sdk1.4.2_09\bin2、使用Windows写字板编辑应用程序,源代码如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MenuDemo extends JFrame implements ActionListener{// Text fields for Number 1, Number 2, and Resultprivate JTextField jtfNum1, jtfNum2, jtfResult;// Buttons "Add", "Subtract", "Multiply" and "Divide"private JButton jbtAdd, jbtSub, jbtMul, jbtDiv;// Menu items "Add", "Subtract", "Multiply","Divide" and "Close"private JMenuItem jmiAdd, jmiSub, jmiMul, jmiDiv, jmiClose;// Main Methodpublic static void main(String[] args){MenuDemo frame = new MenuDemo();// frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setVisible(true);}// Default Constructorpublic MenuDemo(){setTitle("Menu Demo");// Create menu barJMenuBar jmb = new JMenuBar();// Set menu bar to the framesetJMenuBar(jmb);// Add menu "Operation" to menu barJMenu operationMenu = new JMenu("Operation");operationMenu.setMnemonic('O');jmb.add(operationMenu);// Add menu "Exit" in menu barJMenu exitMenu = new JMenu("Exit");exitMenu.setMnemonic('E');jmb.add(exitMenu);// Add menu items with mnemonics to menu "Operation"operationMenu.add(jmiAdd= new JMenuItem("Add", 'A'));operationMenu.add(jmiSub = new JMenuItem("Subtract", 'S'));operationMenu.add(jmiMul = new JMenuItem("Multiply", 'M'));operationMenu.add(jmiDiv = new JMenuItem("Divide", 'D'));exitMenu.add(jmiClose = new JMenuItem("Close", 'C'));// Set keyboard acceleratorsjmiAdd.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,ActionEvent.CTRL_MASK));jmiSub.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));jmiMul.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M,ActionEvent.CTRL_MASK));jmiDiv.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,ActionEvent.CTRL_MASK));// Panel p1 to hold text fields and labelsJPanel p1 = new JPanel();p1.setLayout(new FlowLayout());p1.add(new JLabel("Number 1"));p1.add(jtfNum1 = new JTextField(3));p1.add(new JLabel("Number 2"));p1.add(jtfNum2 = new JTextField(3));p1.add(new JLabel("Result"));p1.add(jtfResult = new JTextField(4)); jtfResult.setEditable(false);// Panel p2 to hold buttonsJPanel p2 = new JPanel();p2.setLayout(new FlowLayout());p2.add(jbtAdd = new JButton("Add"));p2.add(jbtSub = new JButton("Subtract"));p2.add(jbtMul = new JButton("Multiply"));p2.add(jbtDiv = new JButton("Divide"));// Add panels to the framegetContentPane().setLayout(new BorderLayout()); getContentPane().add(p1, BorderLayout.CENTER); getContentPane().add(p2, BorderLayout.SOUTH); // Register listenersjbtAdd.addActionListener(this);jbtSub.addActionListener(this);jbtMul.addActionListener(this);jbtDiv.addActionListener(this);jmiAdd.addActionListener(this);jmiSub.addActionListener(this);jmiMul.addActionListener(this);jmiDiv.addActionListener(this);jmiClose.addActionListener(this);}// Handle ActionEvent from buttons and menu items public void actionPerformed(ActionEvent e){String actionCommand = e.getActionCommand(); // Handle button eventsif (e.getSource() instanceof JButton){if ("Add".equals(actionCommand))calculate('+');else if ("Subtract".equals(actionCommand))calculate('-');else if ("Multiply".equals(actionCommand))calculate('*');else if ("Divide".equals(actionCommand))calculate('/');}else if (e.getSource() instanceof JMenuItem){// Handle menu item eventsif ("Add".equals(actionCommand))calculate('+');else if ("Subtract".equals(actionCommand))calculate('-');else if ("Multiply".equals(actionCommand))calculate('*');else if ("Divide".equals(actionCommand))calculate('/');else if ("Close".equals(actionCommand))System.exit(0);}}// Calculate and show the result in jtfResultprivate void calculate(char operator){// Obtain Number 1 and Number 2int num1 = (Integer.parseInt(jtfNum1.getText().trim())); int num2 = (Integer.parseInt(jtfNum2.getText().trim())); int result = 0;// Perform selected operationswitch (operator){case '+': result = num1 + num2;break;case '-': result = num1 - num2;break;case '*': result = num1 * num2;break;case '/': result = num1 / num2;}// Set result in jtfResultjtfResult.setText(String.valueOf(result));}}3、把上面编辑的源程序保存成Java源程序文件(扩展名为java),程序文件名分别是MenuDemo .java。
实验五java项目开发实例
实验五 java项目开发实例实验五 Java项目开发实例实验目的:掌握运用RAD开发Java应用程序目标要求:1. 掌握运用Visual Editor创建窗口应用程序2. 掌握通过JDBC连接数据库内容简介:本章将介绍MyLibrary的 GUI应用程序。
实验说明:第一节创建GUI应用程序1. 添加JDBC环境变量在菜单栏点击“文件 -> 新建 -> 项目”,选择“Java项目”,点击“下一步”。
输入项目名称“MyLibraryGUI”,点击“下一步”。
在Java设置中选择“库”栏,点击“添加变量”。
在“新建变量类路径条目”对话框中点击“配置变量”在“类途径变量”对话框中点击“新建”按钮,会弹出“新建变量条目”对话框。
在“名称”栏中输入“CLOUDSCAPE_DRIVER_JAR”,然后点击“文件”按钮,找到D:/ProgramFiles/IBM/Rational/SDP/6.0/runtimes/base_v6/cloudscape/lib/db2j.jar,如下图:点击“确定”。
再次点击“确定”。
在弹出对话框点击“是”。
在“新建变量类路径条目”窗口中选择,点击“确定”。
这样就在MyLibraryGUI项目里添加了Cloudscape 的JDBC驱动。
点击“完成”按钮。
2. 新建可视类(Visual Class)在菜单栏选择“文件 -> 新建 -> 其它 -> Java -> 可视类”,点击“下一步”。
在“Java类”窗口,“包”文本框输入mlg.library.gui,“名称”文本框输入“MyLibraryDesktopApp”,“样式”选择“Swing -> 框架”(选择后“超类”变成javax.swing.JFrame),点击“接口”右侧的“添加”,输入ActionListener,点击“确定”。
勾选“pulibc static voidmain(String[] args)”,点击“完成”在如下图的工作台中,点击1里的下三角箭头,将源代码区域最小化,点击2里的三角箭头使得选用板总是可见,将3处拉伸使得选用板中各控件可以很好看到。
java项目开发实例
java项目开发实例
1. 实例一:购物车系统
该项目主要实现一个购物车系统,用户可以在网上购买商品,将商品放入购物车,然后结算,完成购买。
功能模块:
1. 用户登录注册:用户可以进行登录注册,可以保存用户信息;
2. 商品管理:可以增加删除商品,可以查看所有商品信息;
3. 购物车管理:可以将商品放入购物车,可以查看购物车中的商品;
4. 结算管理:可以查看购买的商品信息,并进行结算;
5. 订单管理:可以查看已经完成的订单,可以查看订单的状态。
实现技术:
1. 前端:HTML、CSS、JavaScript、Bootstrap等;
2. 后端:Servlet、JSP、MySQL等;
3. 框架:SpringMVC、Struts2等。
2. 实例二:在线考试系统
该项目主要实现一个在线考试系统,用户可以在网上进行考试,考试结束后可以查看考试结果。
功能模块:
1. 用户登录注册:用户可以进行登录注册,可以保存用户信息;
2. 试卷管理:可以增加删除试卷,可以查看所有试卷信息;
3. 试题管理:可以增加删除试题,可以查看所有试题信息;
4. 考试管理:可以设置考试时间,可以查看考试结果;
5. 成绩管理:可以查看考试成绩,可以查看。
java简单项目案例附讲解
java简单项目案例附讲解一、学生成绩管理系统项目简介:开发一个学生成绩管理系统,能够实现学生信息的录入、查询、修改和删除等功能,并能根据学生成绩进行排序和统计分析。
1. 学生信息录入:通过界面输入学生的基本信息包括学号、姓名、性别、年龄等,并能够录入学生的各科成绩。
2. 学生信息查询:提供学生信息的查询功能,可以按学号或姓名进行查询,查询结果展示学生的基本信息和各科成绩。
3. 学生信息修改:允许对学生的基本信息和成绩进行修改,包括姓名、性别、年龄、各科成绩等。
4. 学生信息删除:提供删除学生信息的功能,可以根据学号或姓名进行删除操作。
5. 学生成绩排序:能够按照总分或某一科目的成绩对学生进行排序,可以选择升序或降序排列。
6. 学生成绩统计:能够对学生的各科成绩进行统计分析,包括平均分、最高分、最低分等。
7. 数据存储:使用数据库或文件存储学生的信息和成绩数据,保证数据的可靠性和安全性。
二、图书管理系统项目简介:开发一个图书管理系统,能够实现图书的录入、借阅、归还和查询等功能,能够对借阅情况进行管理和统计。
1. 图书录入:通过界面输入图书的基本信息包括书名、作者、出版社、出版日期等,并生成唯一的图书编号。
2. 图书借阅:提供图书借阅功能,学生或教师可以通过输入图书编号进行借阅操作,并记录借阅人和借阅日期。
3. 图书归还:提供图书归还功能,借阅人可以通过输入图书编号进行归还操作,并记录归还日期。
4. 图书信息查询:能够根据图书编号或关键字进行图书信息的查询,查询结果展示图书的基本信息和借阅情况。
5. 借阅情况管理:能够对图书的借阅情况进行管理,包括借阅人、借阅日期、归还日期等。
6. 图书统计分析:能够对图书的借阅情况进行统计分析,包括借阅次数、借阅人数等。
7. 数据存储:使用数据库或文件存储图书的信息和借阅情况,保证数据的可靠性和安全性。
三、在线购物系统项目简介:开发一个在线购物系统,能够实现用户的注册、登录、商品浏览、购买和订单管理等功能,提供安全、便捷的购物体验。
Java实验报告5-AWT和swing组件的功能
实验报告课程名称: Java语言程序设计院(系):管理学院专业班级:姓名:学号:指导教师:2013年6月9日《Java语言程序设计》上机实验报告序号实验五组号 1 成绩名称图形用户界面AWT/Swing组件学时 2评阅教师签名: 2013年月日一、实验目的1.熟悉Java AWT、swing组件的功能;2.掌握常用组件的事件接口;3.会应用AWT、swing组件进行应用程序设计。
二、实验内容AWT、swing组件应用程序设计设计(完成windows计算器两种以上的运算功能)。
三、实验硬件、软件环境1.PC计算机一台,配置为CPU为P42.8G,内存为512M,硬盘为80G;2.WindowsXP + JSDK1.6 + JCreatorV4。
四、实验算法设计在设计计算其界面的基础上,添加事件监视,对按钮进行各种操作。
五、程序设计/*** @(#)Calculator.java*** @author* @version 1.00 2013/6/9*/import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Calculator extends JFrame{private final JTextField textField;private String num="0";private String operator="+";private String result="0";public static void main(String agrs[]){Calculator frame=new Calculator();frame.setVisible(true);}public Calculator(){super();setTitle("计算器");setResizable(false);setBounds(100,100,208,242);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);final JPanel viewPanel=new JPanel();add(viewPanel,BorderLayout.NORTH);textField=new JTextField();textField.setText(num);textField.setColumns(18);textField.setEditable(false);textField.setHorizontalAlignment(SwingConstants.RIGHT);viewPanel.add(textField);add(viewPanel,BorderLayout.NORTH);final JPanel clearButtonPanel=new JPanel();clearButtonPanel.setLayout(new GridLayout(1,3,5,5));add(clearButtonPanel,BorderLayout.CENTER);String[] clearButtonNames={"<-","CE","C"};for(int i=0;i<3;i++){final JButton button=new JButton(clearButtonNames[i]);button.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {JButton button=(JButton)e.getSource();String text=button.getText().trim();if(text.equals("<-")){int length=num.length();if(length==1)num="0";else num=num.substring(0,length-1);}else if(text.equals("CE")){num="0";}else{num="0";operator="+";result="0";}textField.setText(num);}});clearButtonPanel.add(button);};final JPanel inputButtonPanel=new JPanel();final GridLayout gridLayout=new GridLayout(4,0,10,10);inputButtonPanel.setLayout(gridLayout);add(inputButtonPanel,BorderLayout.SOUTH);String[][]inputButtonNames={{"1","2","3","+"},{"4","5","6","-"},{"7","8","9","*"},{".","0","=","/"} };for(int row=0;row<4;row++){for(int col=0;col<4;col++){final JButton button=new JButton(inputButtonNames[row][col]);button.setName(row+""+col);button.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){JButton button=(JButton)e.getSource();String name=button.getName();int row=Integer.valueOf(name.substring(0,1));int col=Integer.valueOf(name.substring(1,2));100if(col==3){count();textField.setText(result);operator=button.getText();}else if(row==3){if(col==0){if(num.indexOf(".")<0){num=num+button.getText();textField.setText(num);}}else if(col==1){if(num.indexOf(".")>0){num=num+button.getText();textField.setText(num);}else{if(!num.substring(0,1).equals("0")){num=num+button.getText();textField.setText(num);}}}else{count();textField.setText(result);operator="+";}}else{if(num.equals("0"))num=button.getText();else num=num+button.getText();textField.setText(num);}}void count(){float n=Float.valueOf(num);float r=Float.valueOf(result);if(r==0){result=num;num="0";}else{if(operator.equals("+")){r=r+n;}else if(operator.equals("-")){r=r-n;}else if(operator.equals("*")){r=r*n;}else {r=r/n;}num="0";result=r+"";}}});inputButtonPanel.add(button);}}}}六、程序测试记录及结果、运行说明七、实验总结系统的设计程序,完成程序前后关照,解决每个问题关键要求。
Java实验五
Java实验五组件与事件处理【目的】①学习处理ActionEvent事件;②学习处理ItemEvent事件和paint方法;③学习使用布局类。
【内容】1.算术测试。
✧实验要求:编写一个算书测试小软件,用来训练小学生的算术能力。
程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确;ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。
✧程序:Teacher.javapublic class Teacher{int numberOne, numberTwo;String operator = "";boolean right;public int giveNumberOne(int n){numberOne = (int)(Math.random() * n) + 1;return numberOne;}public int giveNumberTwo(int n){numberTwo = (int)(Math.random() * n) + 1;return numberTwo;}public String giveOperator(){double d = Math.random();if (d >= 0.5)operator = "+";elseoperator = "-";return operator;}public boolean getRight(int answer){if (operator.equals("+")){if (answer == numberOne + numberTwo)right = true;elseright = false;}else if (operator.equals("-")){if (answer == numberOne - numberTwo)right = true;elseright = false;}return right;}}ComputerFrame.javaimport java.awt.*;import java.awt.event.*;public class ComputerFrame extends Frame implements ActionListener {TextField textOne, textTwo, textResult;Button getProblem, giveAnwser;Label operatorLabel, message;Teacher teacher;ComputerFrame(String s){super(s);teacher = new Teacher();setLayout(new FlowLayout());textOne = new TextField(10); //创建textOne,其可见字符长是textTwo = new TextField(10); //创建textTwo,其可见字符长是textResult = new TextField(10); //创建textResult,其可见字符长是operatorLabel = new Label("+");message = new Label("你还没有回答呢");getProblem = new Button("获取题目");giveAnwser = new Button("确认答案");add(getProblem);add(textOne);add(operatorLabel);add(textTwo);add(new Label("="));add(textResult);add(giveAnwser);add(message);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(false);getProblem.addActionListener(this);//将当前窗口注册为getProblem的ActionEvent事件监视器giveAnwser.addActionListener(this);//将当前窗口注册为giveAnwser的ActionEvent事件监视器textResult.addActionListener(this);//将当前窗口注册为textResult的ActionEvent事件监视器setBounds(100, 100, 450, 100);setVisible(true);validate();addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public void actionPerformed(ActionEvent e){if (e.getSource() == getProblem) //判断事件源是否是getProblem{int number1 = teacher.giveNumberOne(100);int number2 = teacher.giveNumberTwo(100);String operator = teacher.giveOperator();textOne.setText("" + number1);textTwo.setText("" + number2);operatorLabel.setText(operator);message.setText("请回答");textResult.setText(null);}if (e.getSource() == giveAnwser) //判断事件源是否是giveAnwser{String answer = textResult.getText();try{int result = Integer.parseInt(answer);if (teacher.getRight(result) == true){message.setText("你回答正确");}else{message.setText("你回答错误");}}catch (NumberFormatException ex){message.setText("请输入数字字符");}}textResult.requestFocus();validate();}}MainClass.javapublic class MainClass{public static void main(String args[]){ComputerFrame frame;frame = new ComputerFrame("算术测试");//创建窗口,其标题为:算术测试}}✧实验后的练习:1. 给上述程序增加测试乘、除的功能。
Java实训项目[5篇范文]
Java实训项目[5篇范文]第一篇:Java实训项目实训项目:学生信息管理一、实训的性质、目的与任务计算机信息管理专业的java实训在教学计划中是实训、实习课程。
它涵盖了java开发和工程组织、数据结构等多项相关知识。
由于计算机技术不断发展,尤其是软件开发的发展,使得计算机软件的使用已渗透到各行各业,因此社会对软件开发人才的需求不断增大。
整个实训课程教学内容从应用的角度出发,在理论和实践上掌握java工程开发的理念、类的组织、类的结构关系、面向对象中流的使用等技术。
使学生能独立设计基于Eclipse控制台开发的小型系统。
本次实训重点和难点:利用java搭建工程文件结构;B/S程序;数据库前后台程序;C/S 程序。
二、实训内容和实训要求1.实训内容(1).掌握Eclipse中工程的使用,项目的调试、编译、链接、运行。
(2).面向对象程序设计中类的组织和类之间的关系分析。
(3).构造函数的应用。
(4)继承和派生的使用(5).多态性和接口的使用。
(6).网络编程的组织与使用。
2、教学手段与教学方法充分利用多媒体设备组织教学。
在备课时,教师将一部分实训内容的步骤制作成课件,在教学中通过投影演示教学,另一部分部分的实训内容进行现场教学,让学生边听讲,边练习。
学生的学习兴趣得到激发,动手能力也得到了锻炼和提高。
最后将实训的最终效果演示。
本实训要以能力培养为主线,强化实践性教学,突出“理论教学为实践教学服务”的教改重点。
3.实训要求学会Eclipse完成工程的创建;掌握面向对象中类、继承、多态性的开发思想;掌握网络编程的概念;独立设计B/S螃蟹过街游戏;考试管理管理系统;C/S网络三、实训方案教科书 264页15.1——15.5标题即可四、实训结果与分析自己分析五、实训总结、体会:通过这一期的实训,虽然实训的时间不长,但是总体上收获挺大的,当我们正式准备学习实训java编程技术时,让我感到非常高兴,因为java一直学的是课本知识,所以实训对于我来说是必须要学会熟练操作的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五Java项目开发实例令狐采学实验目的:掌握运用RAD开发Java应用程序目标要求:1.掌握运用Visual Editor创建窗口应用程序2.掌握通过JDBC连接数据库内容简介:本章将介绍MyLibrary的GUI应用程序。
实验说明:第一节创建GUI应用程序1.添加JDBC环境变量在菜单栏点击“文件-> 新建-> 项目”,选择“Java项目”,点击“下一步”。
输入项目名称“MyLibraryGUI”,点击“下一步”。
在Java设置中选择“库”栏,点击“添加变量”。
在“新建变量类路径条目”对话框中点击“配置变量”在“类途径变量”对话框中点击“新建”按钮,会弹出“新建变量条目”对话框。
在“名称”栏中输入“CLOUDSCAPE_DRIVER_JAR”,然后点击“文件”按钮,找到D:/Program Files/IBM/Rational/SDP/6.0/runtimes/base_v6/cloudscape/lib/db2 j.jar,如下图:点击“确定”。
再次点击“确定”。
在弹出对话框点击“是”。
在“新建变量类路径条目”窗口中选择,点击“确定”。
这样就在MyLibraryGUI项目里添加了Cloudscape 的JDBC驱动。
点击“完成”按钮。
2.新建可视类(Visual Class)在菜单栏选择“文件-> 新建-> 其它-> Java -> 可视类”,点击“下一步”。
在“Java类”窗口,“包”文本框输入mlg.library.gui,“名称”文本框输入“MyLibraryDesktopApp”,“样式”选择“Swing -> 框架”(选择后“超类”变成javax.swing.JFrame),点击“接口”右侧的“添加”,输入ActionListener,点击“确定”。
勾选“puli bc static void main(String[] args)”,点击“完成”在如下图的工作台中,点击1里的下三角箭头,将源代码区域最小化,点击2里的三角箭头使得选用板总是可见,将3处拉伸使得选用板中各控件可以很好看到。
在RAD下侧的“属性”栏里,将“>标题”的值改为“图书馆图书管理”,如果想改变大小,可以将修改“>大小”的值。
点击MyLibraryDesktopApp.java可视编辑器里的面板JPanel(不是整个框架JFrame),在下面的“属性”栏中找到“布局”,默认值为BorderLayout,在列表中选择GridBagLayout。
Ctrl+S保存。
3.添加GUI组件下面向JFrame里添加Swing组件,使得图书馆图书管理的应用程序如下所示:在左侧的“选用板”中点击“Swing组件”中的“JLabel”,然后将鼠标指针移至content pane。
这时鼠标指针会显示(0, 0),这是GridBagLayout下的组件坐标。
再次点击鼠标,这个JLabel会出现在content pane的中央。
在“选用板”选择一个JTextField,将它放在刚才那个JLabel 的右边,鼠标指针会出现(1, 0)。
重复以上两步,一共添加共2个JLabel和JTextField。
在(1, 2)添加一个JButton。
点击一下(0, 0)的JLabel,再点击一下,输入“书名”两个字。
用同样的方法,将第二个JLabel的文本改成“作者”。
再将JButton的文本改成“添加”。
4.运行可视类点击设计编辑器和属性栏之间的中的任一个箭头,使得源代码编辑器出现。
在源代码区域找到main方法,添加如下代码,用于在这个java类启动后能够运行图形界面:public static void main(String[] args){MyLibraryDesktopApp app = new MyLibraryDesktopApp();app.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);app.setVisible(true);}右键点击“包资源管理器”中的MyLibraryDesktopApp.java,选择“运行-> Java应用程序”会看到MyLibraryDesktopApp.java程序的运行界面:5.添加事件处理方法为上小节新建的“添加”按钮添加事件。
在MyLibraryDesktopApp.java的可视编辑界面,右键点击“添加”按钮,选择“事件-> 添加事件”,在弹出的“添加事件”向导直接点击“完成”按钮。
察看MyLibraryDesktopApp.java的源代码,会看到添加了如下代码:private JButton getJButton(){if (jButton == null){jButton = new JButton();jButton.setText("添加");jButton.addActionListener(newjava.awt.event.ActionListener(){public void actionPerformed(java.awt.event.ActionEvent e){System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()}});}return jButton;}现在将其中负责处理按钮事件的的public void actionPerformed(java.awt.event.ActionEvent e){System.out.println("actionPerformed()");//TODOAuto-generated Event stub actionPerformed()}更改为如下代码,作用是当用户按下按钮后将用户所输入的信息添加到数据库,如果添加成功则弹出添加成功的消息框。
public void actionPerformed(java.awt.event.ActionEvent e){String BookName = jTextField.getText();String BookAuthor = jTextField1.getText();try{BookInfoFactory.InsertBooksInfo(BookName, BookAuthor);JOptionPane.showMessageDialog(null, BookName+ "已成功添加到数据库", "添加成功",RMATION_MESSAGE);} catch (SQLException e1){e1.printStackTrace();}}(产生的错误将在下一节处理)6.GUI应用程序通过JDBC与数据库的连接在“包资源管理器”中的MyLibraryGUI项目点击右键,选择“新建-> 包”,输入包名“mlg.library.db”,在新建的包mlg.library.db中点击右键,选择“新建-> 类”,新建一个DatabaseManager.java的类,指定JDBC和数据源,用于与数据库连接。
输入以下代码:public class DatabaseManager{public static Connection getConnection() throws SQLException{Connection con = null;try{Class.forName("com.ibm.db2j.jdbc.DB2jDriver");con = DriverManager.getConnection("jdbc:db2j:D:\\Projects\ \RAD\\database\\MyLibrary");} catch (Exception e){e.printStackTrace();con.close();}return con;}}RAD会给出错误提示,需要导入相应的类库,点击“Shift + Ctrl + O”,选择“java.sql.Connection”,点击“完成”:同样在mlg.library.db包下新建一个名为“BooksInfoFactory.java”的类,InsertBooksInfo()方法用于接受用户输入信息后将信息转换为输入数据库的SQL语句并执行,使其写到数据库中,getAllBooksInfo()从数据库中取得所有图书信息。
输入如下代码:public class BookInfoFactory{public staticvoid InsertBooksInfo(String name, String author) throws SQLException{String id = (new Double((Math.floor(1000000*Math.random())))).toString();String SQLstr = "INSERT INTO mls.bookinfo"+ " (ID,BOOKNAME,AUTHOR)"+ " VALUES ('" + id +"','" + name + "','" + author + "')";System.out.println(SQLstr);DatabaseManager.getConnection().createStatement().executeUpdat e(SQLstr);}}并用“Shift + Ctrl + O”导入相应的包。
运行MyLibraryDesktopApp.java,输入一本书的信息,比如:点击“添加”,如果添加成功,会有提示:在RAD右上角的透视图选择“数据”,转换到数据模式透视图。
在左下侧的“数据库资源管理器”,右键点击“MyLibraryConnection”,选择“重新连接”。
连接成功后选择“MLS -> 表-> MLS.ACCOUNTINFO”,点击右键选择“样本内容”可以在“DB输出”栏看到刚才添加的书籍的信息已经成功输入到数据库中。