JAVA简单画板程序设计实验报告

合集下载

绘图JAVA程序报告(含程序)

绘图JAVA程序报告(含程序)
本次编程的环境为 JDK。 2.4.工具说明
本次编程工具为 UltraEdit。
3 系统流程
开始
曲线 按钮
直线 按钮
画圆 按钮
矩形 按钮
粗线 按钮
填充 颜色
清除
画笔 粗细
f=1
f=2
f=3
f=4
f=5
填充
Y
N
fill=true
fill=false
size 改变
改变颜色
Y
N
输入颜 色
f=1
f=2
f=3
通过 JCheckBox 创建一个按钮,利用按钮监听器决定是否要描绘填 充图形,如果是则将实现赋值 fill=true,否则 fill=false,然后通过 布尔值判断在描绘图形时是 draw 还是 fill,如果布尔值是 ture 时则实 现了图形的填充。 2.2.4 画笔的粗细及画笔的颜色变更
画笔的粗细主要是通过不断地重画填充圆来实现,通过鼠标的拖拽 不断地在画板上进行重画;而粗细则由创建的 JSlider 来调节圆的半径, 如果圆的半径越大则所绘出的曲线越粗,反则越细;画笔的颜色变更主 要通过创建的 JButton 按钮,利用按钮监听器,当按下了按钮,则实现 c=JColorChooser.showDialog(right,"choose",c)语句,从而把初始的 画笔颜色(黑色)改变。 2.2.5 实现鼠标单击和鼠标拖拽进行绘图
在实现绘画的功能,主要通过创建 ButtonGroup 从而把所有的 JRadioButton 都添加进去,从而达到在描绘图形时多选一的选择功能; 利用按钮监听器,利用 Object source=event.getSource()语句当 source==op1 时进行曲线绘画,在实现曲线绘画的功能时,主要利用了 鼠标的点击和鼠标的拖拽,通过鼠标的点击来扑捉第一个坐标点,然后 利用鼠标的拖拽来不断变换第一个点的坐标(利用 sx=x 和 sy=y 语句), 从而将所有点都连接起来,最终实现了在画板上描绘曲线的功能;当 source==op2 时进行直线绘画,在实现直线绘画的功能时,主要利用了 鼠标的点击,鼠标的释放和鼠标的拖拽,通过鼠标的点击来扑捉直线的 第一个坐标点,然后利用鼠标的拖拽选择直线的另一个点,最终通过鼠 标的释放在画板上描绘出直线来;当 source==op3 时进行圆和椭圆绘画, 在实现圆和椭圆绘画的功能时,主要利用了鼠标的点击,鼠标的释放和 鼠标的拖拽,通过鼠标的点击来扑捉圆和椭圆的一个坐标点,然后利用 鼠标的拖拽选择圆和椭圆的大小,最终通过鼠标的释放在画板上描绘出 圆和椭圆来;当 source==op4 时进行矩形绘画,在实现矩形绘画的功能 时,主要利用了鼠标的点击,鼠标的释放和鼠标的拖拽,通过鼠标的点 击来扑捉矩形的一个坐标点,然后利用鼠标的拖拽选择矩形的大小,最 终通过鼠标的释放在画板上描绘出矩形来。 2.2.3 填充功能(其中包括圆的填充,椭圆圆的填充,矩形圆的填充)

java语言程序设计实验报告

java语言程序设计实验报告

java语言程序设计实验报告
《Java语言程序设计实验报告》
实验目的:通过本次实验,学生将学会使用Java语言进行程序设计,掌握Java
语言的基本语法和编程技巧,并能够编写简单的Java程序。

实验内容:本次实验主要包括以下内容:1. Java语言的基本语法和数据类型;2. Java程序的输入输出;3. Java程序的流程控制;4. Java程序的函数和类的定义;
5. Java程序的异常处理等。

实验步骤:1. 阅读相关的Java语言教材和资料,了解Java语言的基本概念和
语法规则;2. 编写简单的Java程序,包括输入输出、流程控制、函数和类的定
义等;3. 调试和运行编写的Java程序,查看程序的运行结果;4. 对程序进行优
化和改进,提高程序的效率和性能。

实验结果:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,能够编写简单的Java程序,并能够运用Java语言解决实际的问题。

实验总结:通过本次实验,学生将对Java语言有了更深入的了解,掌握了Java
语言的基本概念和编程技巧,能够独立编写简单的Java程序。

同时,学生也将
培养了良好的编程习惯和解决问题的能力,为今后的学习和工作打下了良好的
基础。

结语:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,
为今后的学习和工作打下了良好的基础。

同时,也希望学生能够在今后的学习
和工作中不断提高自己的编程能力,为科技创新和社会发展做出更大的贡献。

Java程序设计实训总结[优秀范文五篇]

Java程序设计实训总结[优秀范文五篇]

Java程序设计实训总结[优秀范文五篇]第一篇:Java程序设计实训总结Java项目开发实训总结设计人:张**班级和班内序号:软件项目选题意义:选这个题目的原因:目前,随着国外的网上书店的盛行,在国内也出现了一些网上书店,如当当网、卓越网、以及china-pub等等。

互联网为这些网上书店的发展提供了无限的空间,这些网上的虚拟书店同实体书店一样可以容纳无限的图书或图样以及内容。

“这些网上书店的实现使用了当今世界最先进的计算机技术和网络技术,迅速的成为国内知名图书网站”。

作为计算机专业的学生,对于完成电子商务的计算机技术更需要切实掌握,以便在社会上更好的使用自己的所学技能,因此研究有关电子商务的计算机技术成为了极为有意义的课题。

项目名称:网上书店自我评价:优秀所开发系统的使用价值和应用领域:可以使用户方便的购买图书,为用户节省更多的时间。

应用领域是向广大群众开放,不过需用户注册后才能购买,还需用户会基本的电脑操作。

项目设计情况:项目的设计使用工具有NetBeans IDE 7.3和SQL Server Management StudioR2,技术有JSP技术,包括struts和Hibernate。

删除图书信息等功能。

项目设计中主要完成哪些任务?项目的设计已完成预期目标!项目的优势和缺陷:优势:本项目采用J2EE中的struts和Hibernate技术,J2EE代表的是一种前沿技术,它使得复杂的多层结构应用系统开发变得容易。

J2EE 建立在己取得极大成功的Java语言之上,采用J2EE规范能有效地进行软件复用,提高开发人员的效率,降低软件的开发和维护成本,提高软件的质量,控制所构建系统的复杂性。

J2EE规范将使得Java在企业计算中的地位得到加强,为基于Java 的应用系统提供了一个框架,和目前的许多系统和模型相比,J2EE具有许多优越性。

种种迹象表明,J2EE有可能成为多层结构分布式应用系统的服务器端构件模型的首要选择。

实验报告java程序设计

实验报告java程序设计

实验报告java程序设计一、引言本次实验是针对Java程序设计的实践性活动。

Java是一种广泛应用于各种平台的编程语言,具有跨平台、面向对象、安全性高等特点。

通过本次实验,我们将学习如何利用Java语言进行程序设计,并进一步熟悉Java的基本语法和面向对象的思想。

二、实验目的1. 掌握Java的基本语法和面向对象的思想;2. 熟悉Java程序的编写和运行过程;3. 学会利用Java进行简单的程序设计。

三、实验内容3.1 实验环境为了进行本次实验,我们需要安装以下工具和环境:- JDK(Java Development Kit):Java开发工具包,包含了编译器和相关工具;- IDEA(Integrated Development Environment for Java):一种常用的Java集成开发环境。

3.2 实验步骤1. 安装JDK和IDEA,并完成相应的配置工作;2. 创建一个Java项目,并创建一个名为`HelloWorld`的Java类;3. 在`HelloWorld`类中编写代码,实现输出`Hello, World!`的功能;4. 编译和运行程序,观察结果。

四、实验过程和结果4.1 实验过程首先,我们需要安装JDK和IDEA,并完成相应的配置工作。

然后,我们打开IDEA,创建一个新的Java项目。

接着,在该项目中创建一个名为`HelloWorld`的Java类。

在`HelloWorld`类中,我们编写以下代码:javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}完成代码编写后,我们点击IDEA工具栏上的编译按钮,对代码进行编译。

编译成功后,我们点击运行按钮,运行程序。

4.2 实验结果在IDEA的控制台窗口上,我们可以看到以下输出:Hello, World!这就是我们期望的输出结果,说明我们成功地使用Java编写并运行了一个程序。

简单java程序设计 实验报告

简单java程序设计 实验报告
实验时间: 2013年 3 月 8 日
简单java程序设计实验报告
开课实验室:文俊东607
2013年3月8日
第1页
学院

年级、专业、班
11电子商务
姓名
陈梓君
成绩
课程
名称
பைடு நூலகம்Java语言程序设计
实验项目
名称
简单java程序设计
指导教师
签名
一、实验目的
掌握Java 语言的程序开发工具的安装;掌握Java 语言开发工具环境的设置;掌握 Java 语言的基本结构;掌握Java语言的程序控方法。初步了解OO方法;初步掌握基本I/O;掌握JSDK命令行的使用;掌握EclipseIDE环境的使用;
二.实验原理
第2页
初始值为6,6,6时,运行结果为:
初始值为6,8,10时,运行结果为:
第4页
文俊东607年级专2013年3月8日第1页学院商业班实验项目名称11电子商务姓名陈梓君成绩课程名称java语言程序设计简单java程序设计指导教师签名一实验目的掌握java语言的程序开发工具的安装
广州大学
实验报告
学院商学院
专业、班级11电子商务
姓名、学号
课程名称Java语言程序设计
项目名称简单java程序设计

Java程序设计实训报告

Java程序设计实训报告

Java程序设计实训报告Java程序设计实训报告一、实训目标本次Java程序设计实训旨在让学生掌握Java语言的基础知识和编程技能,能够独立完成Java程序的设计和开发,提高学生的实际编程能力和解决问题能力。

二、实训内容本次Java程序设计实训包括以下内容:1. Java基础语法和面向对象编程的基本概念。

2. Java程序的运行和调试方法。

3. Java标准库的使用和常用数据结构的实现。

4. 常用算法的实现和优化。

5. Java GUI编程和多线程编程的基本概念。

三、实训流程1. 熟悉Java基础语法和面向对象编程的基本概念,在Eclipse 或IntelliJ IDEA等集成开发环境中编写HelloWorld程序,理解程序结构和运行方式。

2. 学习Java标准库的使用和常用数据结构的实现,实现常用算法,如排序、查找等。

掌握调试和优化技巧,以提高程序性能。

3. 学习Java GUI编程和多线程编程的基本概念,实现基本的窗体应用程序和多线程程序,例如计算器、文本编辑器等。

4. 综合应用所学知识,开发一个较为复杂的Java程序,如网络聊天室、小游戏等。

5. 学习Java框架,例如Spring、Hibernate等,实现web应用的设计和开发。

四、实训总结通过这次Java程序设计实训,我加深了对Java语言的理解和认识,学会了使用Java标准库进行编程,掌握了常用算法的实现和优化技巧,学会了Java GUI编程和多线程编程的基本概念,能够独立开发基本的窗体应用程序和多线程程序。

同时,我还学习了Java框架,并能够应用框架进行web应用的设计和开发。

在实训过程中,我遇到了很多困难和问题,但通过查阅资料、询问老师和同学等方式,最终解决了这些问题,加深了对Java程序设计的了解和认识,也提高了我的解决问题的能力。

总的来说,这次实训让我受益匪浅,我会继续学习和探索Java程序设计领域,提高自己的编程水平。

《Java程序设计》实验报告 --实验3

《Java程序设计》实验报告 --实验3
}
else if(e.getSource()==buttontwo){//按键2操作
tf.setText(tf.getText()+"2");
flag1=Double.parseDouble(tf.getText());
}
else if(e.getSource()==buttonthree){//按键3操作
buttondevision=new JButton("/");
buttonsin=new JButton("sin");
buttontozero=new JButton(">0");
paneleast.setLayout(new GridLayout(3,1));//设置西边的布局为3行1列
//将操作按钮"+""-""*""/""sin"">0"添加到西边的面板中
JButton buttonplus,buttonminus,buttonmultiple,buttondevision,
buttonsin,buttontozero;//新建按钮"+""-""*""/""sin"和归零按钮
JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix,
panelcenter.add(buttonthree);
panelcenter.add(buttonfour);
panelcenter.add(buttonfive);

java图形实验报告

java图形实验报告

java图形实验报告《Java图形实验报告》摘要:本实验通过使用Java编程语言,利用图形界面设计工具和图形库,实现了一个简单的图形界面程序。

本实验主要包括了界面设计和图形绘制两个部分,通过实验过程,我们深入了解了Java图形界面编程的基本原理和实现方法。

一、实验目的1. 了解Java图形界面编程的基本原理和实现方法;2. 掌握Java图形界面设计工具的使用;3. 掌握Java图形库的使用;4. 实现一个简单的图形界面程序。

二、实验内容1. 界面设计:使用Java图形界面设计工具,设计一个简单的界面,包括按钮、文本框等基本组件;2. 图形绘制:利用Java图形库,实现在界面上绘制简单的图形,如直线、矩形等。

三、实验步骤1. 界面设计:使用Java图形界面设计工具,创建一个新的界面窗口,添加按钮和文本框等组件,设置它们的位置和大小;2. 图形绘制:在界面上添加一个画布组件,利用Java图形库在画布上绘制简单的图形,如直线、矩形等;3. 编写Java代码,实现界面和图形的交互功能,如按钮点击事件等。

四、实验结果通过实验,我们成功实现了一个简单的图形界面程序。

界面上包括了按钮和文本框等组件,通过按钮点击事件,可以在画布上绘制直线、矩形等图形。

五、实验总结通过本次实验,我们深入了解了Java图形界面编程的基本原理和实现方法,掌握了Java图形界面设计工具和图形库的使用。

通过实验过程,我们对Java图形界面编程有了更深入的认识,为以后的学习和实践打下了坚实的基础。

六、参考资料1. 《Java图形界面编程实例详解》;2. 《Java图形库使用手册》。

通过本次实验,我们对Java图形界面编程有了更深入的认识,为以后的学习和实践打下了坚实的基础。

希望通过今后的实践和学习,能够更加熟练地运用Java图形界面编程技术,实现更加复杂和丰富的图形界面程序。

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

J A V A简单画板程序设计实验报告Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】JAVA期末画板实验报告课程题目:运用JAVA语言编写一个画板程序,这个画板要有画图,特殊图形绘制,颜色改变,画笔大小改变等功能。

设计思想:1.进行界面设计2.进行算法实现3.运行调试4.总结问题设计过程:A.界面设计B.新建一个Jframe容器,然后定义一个panel( Panel convas2),convas2是工具栏。

用borderlayout布置容器的边框布局,将工具栏放在NORTH部分。

完成界面设计。

add(canvas2,;Panel canvas2 = new Panel();添加工具按键Panel canvas2 = new Panel();Button btn1 = new Button("直线");Button btn2 = new Button("椭圆");Button btn3 = new Button("矩形");Button btn4 = new Button("清除");Button btn5 = new Button("画笔");Button btn6 = new Button("橡皮");Choice choice = new Choice();Choice choice1 = new Choice();(choice);(choice1);(btn1);(btn2);(btn3);(btn4);(btn5);(btn6);在工具表中,有两个下拉菜单,分别收录画笔的大小和颜色。

1.画笔的大小:("1");("3");("5");("7");("9");2.画笔颜色("黑色");("蓝色");("红色");("黄色");("绿色");3展示画板C.算法实现运用画板,首先要对工具栏按键和鼠标进行监听,然后对监听进行响应。

运行相应程序进行画图1.监听程序展示:(this);(this);(this);(this);(this);(this);(this);(this);addMouseListener(this);addMouseMotionListener(this);2.按键监听响应监听到按键后,判断当前会话工具public void actionPerformed(ActionEvent e) { if().equals(btn1)){a='1';}if().equals(btn2)){a='2';}if().equals(btn3)){a='3';}if().equals(btn4)){Graphics g = ();(0, 0, (), ());}if().equals(btn5)){a='4';}if().equals(btn6)){a='5';}}定义一个变量a,对按键监听进行响应,例如当监听到btn1时赋值a=‘1’(a为char型),即当前工具为直线。

但是当监听到btn4时不进行对a赋值而是直接进行清除操作,由于清除操作是对画布进行清除,不参与鼠标事件,因此可以直接执行。

3.鼠标监听响应a.鼠标按钮按下事件,获取画图起始坐标x0,y0.public void mousePressed(MouseEvent e){x0=();y0=();}b.鼠标移动事件public void mouseMoved(MouseEvent e){}c.鼠标按钮松开事件,此次响应完成对直线,椭圆,矩形进行绘制。

p ublic void mouseReleased(MouseEvent e){Graphics2D g = (Graphics2D)();size=new BasicStroke(con,,;(b);(size);switch(a){case'1':(x0, y0, (), ());break;case'2':(x0, y0, () - x0, () - y0);break;case'3':(x0, y0, () - x0, () - y0);break;}}d.鼠标进入事件:public void mouseEntered(MouseEvent e){}e.鼠标离开事件:public void mouseExited(MouseEvent e){}• f.鼠标单击事件:public void mouseClicked(MouseEvent e){}g.鼠标拖动事件:此次响应实现画笔(随笔画),橡皮的绘制。

public void mouseDragged(MouseEvent e) {Graphics2D g = (Graphics2D)();size=new BasicStroke(con,,;(b);(size);switch(a){case'4':(x0, y0, (), ());x0 = ();y0 = ();break;case'5':(x0 - 10, y0 - 10, 20, 20);x0 = ();y0 = ();break;}}4.下拉列表响应a.颜色下拉列表响应:if()==choice){if()==0)b=;if()==1)b=;if()==2)b=;if()==3)b=;if()==4)b=;}调用()返回被选中的选项的序号(下拉列表中第一个选项序号为0,依次递加。

)即进行选择颜色的操作b.画笔大小下拉列表响应:if()==choice1){if()=="1"){con=1;}else if()=="3"){con=3;}else if()=="5"){con=5;}else if()=="7"){con=7;}else if()=="9"){con=9;}}调用()返回被选中选项的标签文本字符串,即确定画笔的大小(con)。

5.工具栏工具实现程序详解(1)Graphics2D g = (Graphics2D)();size=new BasicStroke(con,,;(b);(size);绘制图形用到类Graphics2D,其中包括很多绘制图形的方法,定义一个Graphics2D类g,用getGraphics()来得到一个Graphics2D对象,它相当于组建的绘图环境,可以进行各种绘图操作。

size=new BasicStroke(con,,;定义一个BasicStroke类size来确定画笔的大小,其中BasicStroke类定义针对图形图元轮廓呈现属性的一个基本集合,这些图元使用Graphics2D 对象呈现,而该对象的Stroke 属性设置为此 BasicStroke。

其中con为画笔宽度,CAP_BUTT指无装饰地结束未封闭的子路径和虚线线段,JOIN_BEVEL通过直线连接宽体轮廓的外角,将路径线段连接在一起。

(以上内容为网上查找资料所得。

)(2)实现直线,椭圆,矩形绘制:switch(a){case'1':(x0, y0, (), ());break;case'2':(x0, y0, () - x0, () - y0);break;case'3':(x0, y0, () - x0, () - y0);break;}(3)随笔画和橡皮switch(a){case'4':(x0, y0, (), ());x0 = ();y0 = ();break;case'5':(x0 - 10, y0 - 10, 20, 20);x0 = ();y0 = ();break;}6.主类程序得以运行的入口,进入主类后即运行litao()类。

D.调试运行调试运行后得到了画板和预期的所有功能,实现结果展示:E.遇到问题1.绘制完成后,将窗口最大化或者最小化后再打开,原本绘制的图形消失。

尚未解决。

2.确定画笔大小时不得要领,后来通过查找资料解决。

附表1:源程序:import .*;import class litao extends JFrame implements MouseMotionListener,MouseListener,ActionListener, ItemListener {Panel canvas2 = new Panel();Button btn1 = new Button("直线");Button btn2 = new Button("椭圆");Button btn3 = new Button("矩形");Button btn4 = new Button("清除");Button btn5 = new Button("画笔");Button btn6 = new Button("橡皮");Choice choice = new Choice();Choice choice1 = new Choice();Color b;int x0,y0;char a='4';int con=1;BasicStroke size;private static Color[] colors = { , , ,, };public litao(){("1");("3");("5");("7");("9");("黑色");("蓝色");("红色");("黄色");("绿色");(choice);(choice1);(btn1);(btn2);(btn3);(btn4);(btn5);(btn6);(this);(this);(this);(this);(this);(this);(this);(this);addMouseListener(this);addMouseMotionListener(this);add(canvas2,;setBackground;;;setSize(800, 600);setVisible(true);}public void paint(Graphics g){}public void actionPerformed(ActionEvent e) { if().equals(btn1)){a='1';}if().equals(btn2)){a='2';}if().equals(btn3)){a='3';}if().equals(btn4)){Graphics g = ();(0, 0, (), ());}if().equals(btn5)){a='4';}if().equals(btn6)){a='5';}}public void mousePressed(MouseEvent e) {x0=();y0=();}public void mouseMoved(MouseEvent e){}public void mouseReleased(MouseEvent e) {Graphics2D g = (Graphics2D)();size=new BasicStroke(con,,;(b);(size);switch(a){case '1':(x0, y0, (), ());break;case '2':(x0, y0, () - x0, () - y0);break;case '3':(x0, y0, () - x0, () - y0);break;}}public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseClicked(MouseEvent e){} public void mouseDragged(MouseEvent e) { Graphics2D g = (Graphics2D)();size=new BasicStroke(con,,;(b);(size);switch(a){case '4':(x0, y0, (), ());x0 = ();y0 = ();break;case '5':(x0 - 10, y0 - 10, 20, 20);x0 = ();y0 = ();break;}}public void itemStateChanged(ItemEvent e) { if()==choice){if()==0)b=;if()==1)b=;if()==2)b=;if()==3)b=;if()==4)b=;}if()==choice1){if()=="1"){con=1;}else if()=="3"){con=3;}else if()=="5"){con=5;}else if()=="7"){con=7;}else if()=="9"){con=9;}}}public static void main(String[] args) {new litao();}}。

相关文档
最新文档