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图形界面编程技术,实现更加复杂和丰富的图形界面程序。

Java程序设计实验

Java程序设计实验

学生实验报告册(理工类)课程名称:Java程序设计专业班级:学生学号:学生姓名:所属院部:指导教师:20 ——20 学年第学期金陵科技学院教务处制实验报告书写要求实验报告原则上要求学生手写,要求书写工整。

若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。

纸张一律采用A4的纸张。

实验报告书写说明实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。

教师可根据学科特点和实验具体要求增加项目。

填写注意事项(1)细致观察,及时、准确、如实记录。

(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。

(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。

实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:面向对象编程实验实验学时: 6 同组学生姓名:实验地点:实验日期:实验成绩:批改教师:批改时间:实验1 面向对象编程实验一、实验目的和要求(1)熟悉Java几种IDE(集成开发环境);重点是Eclipse(2)掌握接口的编写及使用(3)理解继承、多态(4)掌握包的编写以及如何使用包中的类二、实验仪器和设备奔腾以上个人计算机,装有JA V A语言工具软件(Eclipse ),windows操作系统。

三、实验内容与过程⒈接口的编写(1)编辑Interfaceclass.java,设保存在D:\myjava目录下。

interface Interfaceclass{int i=4;int k=5;void func1();int func2(int x);}(2)编辑UseInterface.java,设保存在D:\myjava目录下。

《Java程序设计》课程综合性实验报告_简易写字板软件设计

《Java程序设计》课程综合性实验报告_简易写字板软件设计

华北科技学院计算机系综合性实验实验报告课程名称Java程序设计实验学期2011 至2012 学年第 1 学期学生所在系部基础部年级2009 专业班级计算B092学生姓名学号任课教师实验成绩计算机系制《Java程序设计》课程综合性实验报告6.图表 1记事本的整体布局JMenuBar();setJMenuBar(menuBar);JMenu[5];new JMenuItem[menu.length][];8.图表 2文件菜单栏 JMenuItem[5];[1]=new JMenuItem[7];[2]=new JMenuItem[2];[3]=new JMenuItem[1];9.图表 3编辑菜单栏[1][0]=new JMenuItem("剪切(X)");[1][0].setMnemonic('X');b)13.图表 5字体设置选项;menuItem[][], popupMenuItem[];popupMenu;;, cbSize, cbStyle; curFileName;new String[2];15.图表 6帮助栏选项 (ae.getSource()==menuItem[4][0])JOptionPane.showMessageDialog(null, 基础部,计算B092 赵礼阳",记事本",RMATION_MESSAGE);18.图表 7打开功能open()JFileChooser fc=new JFileChooser();(fc.showOpenDialog(this)==JFileChooser.APPROVE_OPTIONString _curFileName=fc.getSelectedFile().getAbsolutePath();File file=new File(_curFileName);(file.exists())20.图表 8保存及另存为功能saveAs()JFileChooser fc=new JFileChooser();fc.setDialogTitle("另存为");(fc.showSaveDialog(this)==JFileChooser.APPROVE_OPTION boolean overwrite=false;原文已完。

(完整版)《JAVA程序设计》实验报告

(完整版)《JAVA程序设计》实验报告

福建师范大学协和学院本科实验报告课程名称:JA V A程序设计系别:专业:班级:学号:学生姓名:2011年月日实验项目列表《JA V A程序设计》实验相关说明实验要求:1.明确实验课是课程的重要组成部分,与理论课有着同等地位,是培养自身的实验技能与创新能力的重要途径;2.在实验课前,对实验的目的、要求和基本内容,实验的重点和难点,应进行预习与讨论,确定实施措施,并编写好程序;3.了解实验室的规章制度和安全用电常识、实验设备损坏赔偿制度等,加强安全意识,爱惜实验设备;4.实验课期间不得擅自离开实验室或从事与本实验无关的活动,按时按质完成实验作业,培养创造性思维,努力提高自身的实践能力;5.每次实验应提交实验结果,指导老师将结合实验操作过程给予综合评分(对于有创造性的实验成果酌情给予加分),作为期末考试成绩的一部分。

实验须知:1.每次实验完成之后,学生须填写实验报告,并上交。

报告内容包括:实验目的、实验内容、实验步骤、思路分析或流程图、程序源代码、实验中未解决的问题、屏幕出错提示代码、出错原因、解决方法及实验心得等内容。

不交实验报告的学生,本次实验成绩为0分。

2.若有拷贝现象,程序代码雷同的学生实验成绩一律为0分。

3.每次实验任务必须在2-6节课内完成,并经过实验指导老师检查才能得分。

没能按时完成的同学,本次实验成绩为0分。

福建师范大学协和学院《JA V A程序设计》课程实验报告班级:______学号:_________________姓名:_____________成绩:教师签字:实验一简单输入/输出项目设计一、实验目的1、了解Java运行环境的安装与配置。

2、了解程序的基本结构,编辑、编译与运行方法。

3、掌握方法的调用、异常的处理。

二、实验环境(主要仪器设备和软件)1、操作系统Windows XP2、JA V A开发包JSDK1.63、代码编辑器Jcreart3.24、数据库管理系统MySQL5.05、数据库可视化管理平台CapVideo8.06、Web服务器TomCat5.07、JA V A开发工具MyEclipse7.08、微机三、实验内容1、Java开发包的下载与安装;2、环境变量的设置;3、安装配套开发软件;4、熟悉各类软件的使用;5、以下内容至少任选一项完成:选项一:编写一个应用程序绘制一个如下的操作菜单。

《JAVA程序设计》实验报告

《JAVA程序设计》实验报告
华北科技学院计算机学院综合性实验
实验报告
课程名称Java程序设计
实验学期2012至2013学年第1学期
学生所在系部计算机学院
年级2010专业班级计科B1XX
学生姓名XXXXX学号**********XX
任课教师白磊
实验成绩
计算机学院制
《Java程序设计》课程综合性实验报告
开课实验室:基础实验室2012年12月13日
打开功能,文件中可以打开新的文件,如下图所示:
另存为功能,可以对文件另存为,可以实现文件的另存功能,截图如下:
2.文件菜单中各项功能的实现
①新建功能设计
主窗口的实现:
//创建窗口对象,并设置相关属性
finalJFrame jf=newJFrame("记事本——JAVA的综合实验");
jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
实验题目
简易写字板软件设计
一、实验目的
通过编写Java的应用系统综合实例,通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。
二、设备与环境
硬件:多媒体计算机
软件:Windows 2000以上的操作系统、JDK开发包、集成开发环境
具体界面如下图所示:
“文件”菜单:“编辑”菜单:
“格式”菜单:“帮助”菜单:
保存功能,当需要进行保存时,可以在点击文件中的保存,弹出保存对话框,进行文件的保存,如下图所示:
②编辑区设计(主要以文件菜单为例介绍)
“文件”菜单
新建功能,当写字板中有输入内容时,弹出保存现有信息的对话框。选择是或否之后,进入新建的页面。如下图所示:

JAVA画图板程序实验报告(附完整代码)分析

JAVA画图板程序实验报告(附完整代码)分析

画板程序一、软件系统分析和设计方案1、功能需求分析设计类似于Windows画板的程序,程序可以通过功能菜单(或工具条)进行功能选择操作,在画板中可以用鼠标操作绘制不同颜色的点,直线,多边形和椭圆,可以保存和打开自定义的图形文件。

2、结构设计过程经过对需求的分析,我们设计的画图板界面主要包括菜单栏、工具栏、画板三个部分。

菜单栏包含文件、编辑、帮助等常见功能菜单,实现打开保存文件等功能;工具栏主要包括画笔、矩形、椭圆、直线、刷子、橡皮、文字、颜色等工具,可完成一些基本操作;画板能够编辑处理图片及文字。

而代码实现上采用面向对象的思想,将上述组件封装与一个画板类中布局并实现功能;通过一个窗框类实现画板对象;最后在主类中建立窗框对象。

思路如下图:二、软件实现和代码编写具体代码及详细注释如下:import java.awt.*;import java.awt.event.*;import java.awt.geom.*;import javax.swing.*;import javax.swing.UIManager.*;import java.io.*;import java.util.Vector;//主类建立窗框public class DrawPad {public static void main(String[] args) {try {// 优化UI效果for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) {UIManager.setLookAndFeel(info.getClassName());break;}}} catch (Exception e) {System.out.println(e);}new DrawFrame();}}// 添加窗口和画板组件class DrawFrame extends JFrame {public DrawFrame() {DrawPanel panel = new DrawPanel();add(panel);setTitle("简单JAVA画板");setBounds(100, 100, 800, 600);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}// 定义绘画点的基本属性class position implements Serializable {int x;int y;int type;String s;Color color;}// 定义画板组件class DrawPanel extends JPanel implements ActionListener, MouseListener, MouseMotionListener {JMenuBar mb;// 菜单栏JMenu menu1, menu2, menu3;JMenuItem i1, i2, i3, i4;JPanel jp1; // 工具栏public JButton anj0, anj1, anj2, anj3, anj4, anj5, anj6, anj7, anj8, anj9,anj10;JLabel l1, lcolor;Vector<position> thedraw = new Vector<position>(); // 保存画图轨迹的数组int style = 0; // 保存画图类型,默认为画笔int x1 = 0;// 保存点的坐标int x2 = 0;int y1 = 0;int y2 = 0;String input = "";// 默认输入文字内容Color linecolor = Color.BLACK; // 默认线的颜色public DrawPanel() {setBackground(Color.WHITE);setLayout(new BorderLayout());setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));// 上部菜单栏mb = new JMenuBar();mb.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));add(mb, BorderLayout.NORTH);// 加入菜单栏的组件menu1 = new JMenu(" 文件");menu2 = new JMenu(" 编辑");menu3 = new JMenu(" 帮助");i1 = new JMenuItem("打开", new ImageIcon("img/open.png"));i2 = new JMenuItem("保存", new ImageIcon("img/save.png"));i3 = new JMenuItem("清空", new ImageIcon("img/clear.png"));i4 = new JMenuItem("关于简单JAVA画板", new ImageIcon( "img/about.png"));menu1.add(i1);menu1.addSeparator();menu1.add(i2);menu2.add(i3);menu3.add(i4);mb.add(menu1);mb.add(menu2);mb.add(menu3);add(mb, BorderLayout.NORTH);// 侧边工具栏jp1 = new JPanel();jp1.setBackground(Color.LIGHT_GRAY);jp1.setLayout(new BoxLayout(jp1, BoxLayout.Y_AXIS));jp1.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));add(jp1, BorderLayout.WEST);// 加入工具栏的组件anj0 = new JButton("画笔", new ImageIcon("img/pen.png"));anj1 = new JButton("刷子", new ImageIcon("img/brush.png"));anj2 = new JButton("橡皮", new ImageIcon("img/erease.png"));anj3 = new JButton("文字", new ImageIcon("img/word.png"));anj4 = new JButton("直线", new ImageIcon("img/sline.png"));anj5 = new JButton("矩形", new ImageIcon("img/rec.png"));anj6 = new JButton("圆矩", new ImageIcon("img/frec.png"));anj7 = new JButton("椭圆", new ImageIcon("img/eli.png"));anj10 = new JButton("");lcolor = new JLabel("■");// 会变色的方块l1 = new JLabel(" 颜色");anj10.add(lcolor);anj10.add(l1);jp1.add(anj0);jp1.add(anj1);jp1.add(anj2);jp1.add(anj3);jp1.add(anj4);jp1.add(anj5);jp1.add(anj6);jp1.add(anj7);jp1.add(anj10);// 事件处理i1.addActionListener(this);i2.addActionListener(this);i3.addActionListener(this);i4.addActionListener(this);anj0.addActionListener(this);anj1.addActionListener(this);anj2.addActionListener(this);anj3.addActionListener(this);anj4.addActionListener(this);anj5.addActionListener(this);anj6.addActionListener(this);anj7.addActionListener(this);anj10.addActionListener(this);addMouseListener(this);addMouseMotionListener(this);}// 记录鼠标选择的功能public void actionPerformed(ActionEvent e) {if (e.getSource() == anj0)style = 0;else if (e.getSource() == anj1)style = 1;else if (e.getSource() == anj2)style = 2;else if (e.getSource() == anj3) {style = 3;input = JOptionPane.showInputDialog("输入文字后在画板上点击放置");} else if (e.getSource() == anj4)style = 4;else if (e.getSource() == anj5)style = 5;else if (e.getSource() == anj6)style = 6;else if (e.getSource() == anj7)style = 7;else if (e.getSource() == anj10) {linecolor = JColorChooser.showDialog(null, "请选择颜色", Color.BLACK);lcolor.setForeground(linecolor);} else if (e.getActionCommand().equals("关于简单JAVA画板")) {JOptionPane.showMessageDialog(null,"这是一个简单的JAVA画板。

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

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

J A V A简单画板程序设计实验报告As a person, we must have independent thoughts and personality.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.算法实现运用画板,首先要对工具栏按键和鼠标进行监听,然后对监听进行响应。

南邮Java实验报告1-综合图形界面程序设计

南邮Java实验报告1-综合图形界面程序设计

南邮Java实验报告1-综合图形界面程序设

自查报告。

在本次综合图形界面程序设计的实验中,我使用Java语言完成
了一个简单的图形界面程序。

在完成实验过程中,我对自己进行了
一些自查,总结如下:
1. 程序功能完整性,在设计程序时,我充分考虑了程序的功能
完整性,确保程序能够实现预期的功能。

我在自查过程中,对程序
进行了多次测试,确保程序的各个功能模块都能正常运行。

2. 代码规范性,我在编写代码的过程中,遵循了Java编程规范,确保代码的可读性和可维护性。

在自查过程中,我对代码进行
了排版和注释,确保代码的规范性。

3. 用户体验,在设计图形界面时,我考虑了用户体验,确保界
面简洁明了,操作方便。

在自查过程中,我对界面进行了多次优化,确保用户能够顺利使用程序。

4. 错误处理,在程序中,我考虑了各种可能出现的错误情况,
并进行了相应的错误处理。

在自查过程中,我对程序进行了多次异
常测试,确保程序能够正确处理各种异常情况。

在自查过程中,我发现了一些问题,并及时进行了修改和优化。

通过本次自查,我对自己的程序设计能力有了更深入的认识,也提
高了对程序质量的要求。

在今后的学习和工作中,我将继续努力,
不断提升自己的编程能力和程序设计水平。

JAVA程序设计实验报告

JAVA程序设计实验报告

JAVA程序设计实验报告JAVA面向对象编程实验一、实验目的掌握接口的编写及使用理解继承、多态掌握包的编写以及如何使用包中的类二、预习内容java的基本语法知识实验设备与环境装有JAVA语言工具软件 (JCreator )的微机若干四、实验内容接口的编写(1) 编辑Interfaceclass.java,设保存在D:\myjava目录下。

interface Interfaceclass{int i=4;int k=5;void func1();int func2(int x);}(2) 编辑UseInterface.java,设保存在D:\myjava目录下。

class UseInterface implements Interfaceclass{int j;public void func1() //在使用接口的类中一定要实现接口中的所有抽象方法{System.out.println("func1="+1);}public int func2(int i){System.out.println("func2="+1);return i;}public static void main(String srgs[ ]){//Interfaceclass.class x=new Interfaceclass.class();不能对接口进行实例化 UseInterface x=new UseInterface();x.func1();x.func2(k);}}多态在工资系统中的应用下面给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。

Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。

java实验报告实验报告java实验报告Java

java实验报告实验报告java实验报告Java

java实验报告实验报告java实验报告Java一、实验目的本次实验的目的是熟悉Java语言,了解Java程序结构,掌握Java程序的开发流程,加深对Java语言特性的认识和理解。

二、实验内容本次实验内容为设计一个简单的Java程序,包括设计程序的需求分析、设计方案、编写代码、测试运行结果等环节。

三、实验分析3.1 需求分析设计一个Java程序,要求该程序能够实现以下功能:1. 用户可以输入两个数,程序可以对这两个数进行加、减、乘、除的操作,并输出运算结果。

2. 用户可以输入一个字符串,程序可以对该字符串进行反转输出。

3.2 设计方案根据需求分析,我们可以先设计一个简单的界面,包括输入框、选择运算符号的下拉框,以及一个按钮,当用户输入完毕后点击按钮即可进行相应的操作。

3.3 编写代码根据设计方案,我们先编写一个简单的界面代码:import java.awt.*;import javax.swing.*;public class Calculator extends JFrame {private JTextField text1, text2, text3;private JComboBox<String> combo;private JButton calcBtn, reverseBtn, factBtn;public Calculator() {super("Calculator");text1 = new JTextField(5);text2 = new JTextField(5);text3 = new JTextField(10);combo = new JComboBox<String>(new String[]{"+", "-", "*", "/"});calcBtn = new JButton("Calculate");reverseBtn = new JButton("Reverse");factBtn = new JButton("Factorial");JPanel panel2 = new JPanel();panel2.add(new JLabel("String:"));panel2.add(text3);panel2.add(reverseBtn);pack();setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}该界面中包含了3个面板,一个用于加减乘除,一个用于字符串反转,一个用于阶乘操作。

Java画板实验报告

Java画板实验报告

二、Java画板的设计一、实验名称及其要求A、实验名称:Java画板的设计B、实验要求:1•实验目的:图形界面设计。

熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。

2•实验要求:(1)设计图形界面添加菜单:窗口上添加各种组件及菜单,并处理组件及菜单的事件监听程序。

(2 )实现画板的基本功能。

二、程序设计本程序完成的是一个类似于Win dows画图板的绘图程序。

由于不是开发和设计专业的绘图和图像制作软件,所以,完成的程序的简单功能包括以下几项:1. 新建一个空白图形文件:用于绘制新的图形。

2. 打开或保存一个图形文件,便于对图形文件的管理。

3. 绘制一些基本的画图组件:直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等。

4. 可以用鼠标在绘图面板上单击拖动进行随笔画。

5. 橡皮擦:可以将已绘制好的图形擦掉。

6. 添加文字:可以在绘图区域内添加文字。

7. 选择文字的字体:通过一个下拉式的选择条,可以选中所需要的字体。

本程序中包括:宋体、隶书、华文彩云、仿宋_GB2312华文行楷、方正舒体、Times NewRoman Serif、Monospaced SonsSerif、Garamond当然,在下面的的程序分析中可以看到,由于我们灵活设置了字体数组,是的可以随意添加系统支持的任何字体。

大大方便和简化了程序设计。

8. 选择文字的字体风格:通过两个复选框按钮,可以选择需要的字体风格,包括:粗体、斜体,使用者有三种选择方式,包括:①同时选中两者、②只选择其中一种、③ 两者都不选中。

9. 设置画笔的颜色:可以选择当前绘制图形的画笔颜色,让图形更加丰富多彩、生动活泼。

10. 设置画笔的粗细:该选项在作用于基本图形组件和文字时,它的效果是不一样的。

①当作用于绘制图形组件时,它的作用是改变画笔绘制线条的粗细;②当作用于文字时,它的作用是改变文字的大小。

由此可以看到,虽然我们的画图板程序不及那些专业的绘图程序,但是,“麻雀虽小, 五脏俱全”,它已经具备了一个绘图软件所应该有的基本功能和操作。

Java画图板课程设计报告(DOC)

Java画图板课程设计报告(DOC)

目录1 引言 (1)1.1课程设计选题 (1)1.2课程设计的目的 (1)1.3本选题的设计背景 (1)2 需求分析 (1)2.1 功能需求 (1)2.2 软件开发运行环境 (1)3 总体设计 (2)3.1 软件结构设计 (2)3.1.1 结构设计 (2)3.2软件功能模块及主要类设计 (2)3.2.1功能描述 (2)3.2.2总体结构图 (3)3.2.3主要类设计 (3)4 详细设计与实现 (4)4.1 主界面 (4)4.1.1主界面功能设计 (4)4.1.2主界面设计 (4)4.1.3主界面主要代码 (5)4.2 菜单栏 (6)4.2.1菜单栏功能设计 (6)4.2.2菜单栏界面设计 (6)4.2.3菜单栏主要代码 (9)4.3 工具栏 (10)4.3.1工具栏功能设计 (10)4.3.2工具栏界面设计 (10)4.3.3工具栏主要代码 (10)4.4 画图区 (11)4.4.1画图区功能设计 (11)4.4.2画图区界面设计 (12)4.4.3画图区主要代码 (12)4.5 状态栏 (12)4.5.1状态栏功能设计 (12)4.5.2状态栏设计 (12)4.5.3状态栏代码 (12)5 小结和展望 (13)参考文献 (14)附录 (15)使用说明书 (15)源程序清单 (15)1引言1.1课程设计选题《画图板软件开发和设计》1.2课程设计的目的巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java 程序的水平。

1.3本选题的设计背景日常生活、学习中我们经常需要画图,简单的画图我们可以手工画图,但往往还是不能满足需求。

因此,借助计算机准确而快速的画图就十分有必要了。

好的画图工具能够很好的完成日常生活中的各种画图工作。

学习了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();}}。

相关文档
最新文档