当前位置:文档之家› JAVA简单画板程序设计实验报告

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

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

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 = ();

几何画板实验报告

一.实验内容:画出一个正方形 二.实验目的:学会使用变换中的旋转按钮 三.实验步骤: ①画出一条线段; ②选中线段左端点双击,标记中心; ③选中线段和另一端点,选择变换中的旋转按钮,并设置旋转角度为90°,然后在依次做出另外两条边。 四.实验结果 实验二 一实验内容:构造三角形的中线 二实验目的:学会构造线段中点

三实验步骤: ①单击线段工具,构造出一个三角形ABC; ②选中线段AB,执行构造-中点命令,构造出AB中点D ③单击线段工具,连接CD. 四实验结果 实验三 一实验内容:构造三角形的外心 二实验目的:学会构造线段的中垂线 三实验步骤: ①单击线段工具,构造出一个三角形ABC; ②选中线段AB,执行构造-中点命令,构造出AB中点D,同时选中AB和D,执行构造-垂线

③在AC上重复②,两垂线交点即为外心 四实验结果 一实验内容:绘制三角形的内心 二实验目的:学会构造已知角的平分线 三实验步骤: ①画出任意三点A,B,C,选中A,B.C三点,执行构造-线段,构造出三角形ABC; ②依次选中B,A,C,执行构造-角平分线,构造出BAC ∠的角平分线i; ③按照②的步骤做出ABC ∠的角平分线j; ④选中i,j,执行构造-中点命令,构造出三角形内心D; ⑤选中i,j,执行显示-隐藏平分线,隐藏平分线。 四实验结果:

实验五 一实验内容:绘制函数x =的函数图像 y3 二实验目的:绘图菜单的使用方法 三实验步骤: ①执行绘图-定义坐标系命令,新建坐标系,并将原点坐标的标签设为O; ②执行数据-新建函数命令,新建函数x =; y3 ③选中函数,执行绘图-绘制函数命令,画出x =的函数图像. y3 四实验结果

Java程序设计-实验报告1-模板 (1)

实验报告 课程名称Java程序设计 实验项目实验一类和对象 系别_________计算机_________ 专业/班级_______计算机类/1402______ 姓名_____李馨雪________ 实验日期______2015.10.10______ 成绩_______________________ 指导教师

一、实验题目:实验一类和对象 二、实验内容: (1)用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。 1)PC类与CPU类和HardDisk类关联的UML图如图所示。 其中,CPU类要求getSpeed()返回speed的值,setSpeed(int m)方法 将参数m的值赋值给speed。 HardDisk类要求getAmount()返回amount的值,setAmount(int m)方 法将参数m的值赋值给amount。 PC类要求setCPU(CPU c)将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示 cpu的速度和硬盘的容量。 2)主类Test的要求 main()方法中创建一个CPU对象cpu,其speed设置为2200; main()方法中创建一个HardDisk对象disk,其amount设置为200; main()方法中创建一个PC对象pc, pc调用setCPU方法,实参是cpu;调用setHardDisk方法,实参是 disk;调用show方法。 (2)设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下: 1)编写接口Animal,有2个抽象方法cry()和getAnimaName(); 2)编写模拟器类Simulator,该类有一个playSound(Animal animal)方法,其形参是Animal类型,可以调用实现Animal接口的类所重写的cry()方法播放具体动物的声音,调用重写方法显示动物种类的名称; 3)编写实现Animal接口的Dog类和Cat类。具体的UML图如下所示:4)编写主类Application,其main方法中至少包含如下代码: Simulator si=new Simulator();

java画板课程设计报告

画板 一、需求分析 平时生活中,我们会需要处理一些基本的图像,也有可能需要花一些简单的图像,平时所使用的图形处理工具有PhotoShop、Windows 画图工具等,其中PhotoShop 是一款非常强大的图形处理工具,Windows 画图工具则是一款较为简单的画图工具,功能较为简单,用Windows画图工具,是一种比较简单与具有代表性的画图工具,虽然功能不够强大,但具有大多图片处理程序所必需的基本功能:铅笔画图、各种数学函数图形、填色、取色、橡皮擦等等。这次试验中我做的就是一个仿照windows画板的程序。 功能:1.利用graphics 类来向界面上画上相应内容 2.能够画出直线,矩形,多边形,椭圆形,圆矩形等 3.能够实现橡皮,刷子,喷枪等工具。 4.能够实验颜色的设置 5.能够保存图片和打开图片(当保存名一致时需提示) 6.界面尽量合理,可以仿照windows画板界面。 二、概要设计

流程图 画板软件类图 1.工具接口Tool: 从图中可以看到,工具接口Tool 定义了鼠标动作的四个方法,分别是拖动mouseDrapped()、移动mouseMoved()、松开mouseReleased()、按下

mousePressed()、点击mouseClicked()五个动作,并用String 类型的常量属性来定义工具的类型。这个接口只有一个实现类AbstractTool,而每个工具类 都是去扩展AbstractTool 类,在图中表现为Tool1、Tool2…….ToolN。 2.Tool的实现类AbstractTool AbstractTool 是Tool 的实现类,也是一个抽像类,所以并不能被创建,只能被继承。此类实现Tool 中定义的所有方法,并扩展了其它方法,让其子类继承或者重写。该类中为其他的工具类提供了大部分的实现,那么它的子类就可以不必再做重复的实现,只关心与本类相关的逻辑, 3.AbstractTool的子类 AbstractTool 一共有ArrowTool(箭头)、PencilTool(铅笔)、BrushTool(刷子)、EraserTool(橡皮擦)、LineTool (直线)、RectTool (矩形)、PolygonTool (多边形)、RoundTool (椭圆形)、RoundRectTool(圆矩形)、AtomizerTool (喷墨)、ColorPickedTool(颜色选择)11 个子类, 4. 界面类ImageFrame 这个画图工具的界面的主要放在这个类中实现 5. 业务逻辑类ImageService 除鼠标的画图功能外(画图功能由Tool 的实现类完成),初始化画板、图片的新建打开与保存、各种面板的显示与隐藏、颜色的编辑、整个界面的刷新、菜单等业务逻辑都放在这个类中实现, 对象,它并没有保存一些状态属性。 6 .文件选择类ImageFileChooser ImageFileChooser 类继承了JFleChooser 类,JFleChooser 是Java 提供的一个简单的文件选择机制,我们这里扩展这个类,是为了增加我们自己的文件过滤器。 三、运行环境、开发语言 Window xp 和elipse Java语言

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

JAVA期末画板实验报告 课程题目: 运用JAVA语言编写一个画板程序,这个画板要有画图,特殊图形绘制,颜色改变,画笔大小改变等功能。 设计思想: 1.进行界面设计 2.进行算法实现 3.运行调试 4.总结问题 设计过程: A.界面设计 新建一个Jframe容器,然后定义一个panel(Panel convas2),convas2是工具栏。用borderlayout布置容器的边框布局,将工具栏放在NORTH部分。完成界面设计。 add(canvas2,BorderLayout.NORTH); 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(); canvas2.add(choice); canvas2.add(choice1);

canvas2.add(btn1); canvas2.add(btn2); canvas2.add(btn3); canvas2.add(btn4); canvas2.add(btn5); canvas2.add(btn6); 在工具表中,有两个下拉菜单,分别收录画笔的大小和颜色。1.画笔的大小: choice1.add("1"); choice1.add("3"); choice1.add("5"); choice1.add("7"); choice1.add("9"); 2.画笔颜色 choice.add("黑色"); choice.add("蓝色"); choice.add("红色"); choice.add("黄色"); choice.add("绿色"); 3展示画板

实验二、应用轨迹与跟踪功能绘制图形(几何画板)

实验二、应用轨迹与跟踪功能绘制图形 一、实验目的: 认识、分清主动点和被动点,学会应用轨迹与追踪功能绘制图形 二、实验内容 1、作出双曲线、抛物线的轨迹 2、设ABCD为矩形,P是AB上的一动点,过P作PE⊥AC于E,PF⊥BD于F, (1)作出EF的中点轨迹。 (2)作出线段EF运动的轨迹。 3、三角形ABC顶点A在一定圆上运动,另外两个顶点固定,作出三角形ABC外心的轨迹。并讨论分出各种情形。 4、作出与已知定圆、定直线都相切的圆的圆心的轨迹。 三、实验步骤 1、(1)做一条射线,取端点A和射线上一点B构成线段作为定长2a 做一条直线,上面取两点F1 、F2为焦点。|F1 F2| >|AB| 再在射线上取点C 构造线段AC、BC 以F1为圆心,AC为半径做圆,F2为圆心,BC为半径做圆。 两圆相交的两点分别记为F、G。 选中点C、F构造轨迹,选中点C、G构造轨迹。则得到双曲线的一支。同理作图得双曲线另一支。 (2)做一条直线,取点上两点A、B 构造线段AB,并以A为圆心,AB为半径做圆,交直线于点C

选中点A和直线构造垂线I 在此垂线上取一点E。 选中点E和垂线I,构造垂线m。 选中点E、B构造线段。并选择它作中点F。 选中F和线段构造垂线n。 m与n交于一点G。 选中点E、G构造轨迹。则得到抛物线。 2、(1)制作矩形ABCD,取P上一点。连接AC、BD。 选中P和AC构造垂线,与AC的交点为E。 选中P和BD构造垂线,与BD的交点为F。 选中E、F构造线段。选择线段EF构造中点。 选中P、及EF的中点构造轨迹。 (2)选中点P及线段EF构造轨迹。 3、在平面上作一个圆。取圆上一点O。构造三角形BCD 分别取三条边的中点作垂线。三条垂线交于一点即是外心E。 选中点A和外心E,构造轨迹。 讨论:当三角形为锐角三角形时,轨迹在三角形内或与三角形最长边相交;当三角形为直角三角形,该轨迹的一个端点为三角形斜边中点,其他点均在三角形外,并平行于竖直的直角边;当三角形为钝角时,轨迹完全在三角形外,或与三角形最长边相交。 结论:外心运动轨迹在定点CD边所做的中垂线上。 4、构造定圆O和定直线k。

java课程设计实验报告

一实验目的 加深学生对课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。在对Java 程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系的了解。 二、实验要求 (1)问题描述准确、规范; (2)程序结构合理,调试数据准确、有代表性; (3)界面布局整齐,人机交互方便; (4)输出结果正确; (5)正确撰写实验报告。 三、设计内容 1、计算器 计算器要有GUI界面,用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算和混合运算,可以求一个数值的平方及倒数,可以进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下,可以进行四舍五入的运算。允许正负数间的运算。要求使用Applet实现该计算器,当用浏览器运行程序时,点击网页中的按钮,则计算器弹出,浮在网页上,再次点击按钮时,计算器消失。 2、文本编辑器 可以设置文本的字体、大小、颜色等基本参数,可以读取计算机中TXT文件,可以生成一个新的TXT文件。其他功能参照windows的文本编辑器。

四.实验步骤 (1)上机实验之前,为课程设计的内容作好充分准备。对每次上机需要完成的任务进行认真的分析,画出程序流程图,手工写出符合任务要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 (2)按照实验目的和实验内容进行上机操作。录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。 (3)根据实验结果,写出实验报告。 五. 源代码及运行结果 1.计算器源代码 import .*; import .*; import .*; public class jisuanqi extends WindowAdapter { , "=", "+","n!" ,"关闭" }; static double a, sum=1; static String s, str ;rame(); } public void frame() { etBackground; txt = new TextField(""); (false);ddActionListener(new buttonlistener());ddActionListener(new close()); (this); (new BorderLayout());.计算器运行界面(1)计算器主界面

计算机图形学课程设计报告交互式绘图系统

课程设计报告 课程名称计算机图形学 课题名称交互式绘图系统 专业计算机科学与技术 班级 学号 姓名 指导教师刘长松曹燚 2012年10 月9 日

湖南工程学院 课程设计任务书 课程名称计算机图形学 课题交互式绘图系统 专业班级 学生姓名 学号 指导老师刘长松曹燚 审批 任务书下达日期2012年9月15 日任务完成日期2012 年10月9 日

一、设计内容与设计要求 1.设计内容: 用橡皮法实现交互式绘图系统。 2.设计要求: 在屏幕上可以选择不同的命令、来实现不同基本图形的绘制。完成橡皮筋直线,橡皮筋圆,橡皮筋矩形框,多边形裁剪和3阶B样条曲线的作图,且要有比较友好的界面。 3.算法提示: 首先在屏幕上画出菜单和绘图窗口,显示鼠标。点击相应菜单,点击鼠标,移动鼠标,获取鼠标移动相对位置,画出相应图形。 相关变量定义: #define _MOUSE鼠标#define CIRCLE 1圆 #define LINE 2直线#define RECTANGLE 3矩形#include "stdio.h" #include "string.h" #include"graphics.h" #include"math.h" #include union REGS inreg,outreg; struct SREGS sr; 相关函数: void meun(int x,int y,char *str) { setcolor(8); outtextxy(x+5,28,str); setcolor(15); line(x,22,x,40); line(x,22,y,22); setcolor(8); line(x,40,y,40); line(y,22,y,40); }

Java画图软件设计报告

佛山科学技术学院 《可视化编程技术》课程设计报告 画图软件设计 学生姓名:周敏婷 学号: 2011914123 年级专业:11级教育技术学2班指导老师:容汝佳 学院:教育科学学院 广东★佛山 提交日期:2013年6月

目录 1. 前言 (2) 2.概要设计 (3) 2.1 开发环境 (3) 2.2 画图软件功能 (3) 2.3 界面设计 (3) 2.4 类的框架结构图 (4) 3. 详细设计 (4) 3.1 使用的JAVA类的说明 (4) 3.2 类的主要方法 (5) 3.2.1 颜色选择

器 (5) 3.2.2 控制画笔样式 (5) 3.2.3 选取颜色按钮的监听件类 (6) 3.2.4 设计总体认识 (6) 3.2.5 程序流程图 (7) 4. 运行结果 (7) 5. 测试分析 (8) 5.1 程序运行情况 (8) 6. 源程序 (8) 参考文献 (14) 设计总

结 (14)

摘要:该程序是一个图形界面的简单的java画图软件,具有良好的界面,使用人员能快捷简单地进行操作。该画图软件操作较为简单,只需要一直按着左键就能根据你鼠标移动的方面,画出你想要的图案。你也可以选择你自己想到的颜色和画笔的粗细。而且可以显示你当前的画笔的状态。界面为灰白对称。是一个非常简单的作图工具,让人能轻松上手。 关键字:java,画图类,方法,事件 1 前言 随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java语言之后,我决定使用Java语言编写一个简单的画图工具,可以实现简单的画图作图功能,满足日常基本的工作学习和娱乐需要。 Java是由Sun公司开发的新一代纯面向对象的网络编程语言。其目标是建立一种在任意种机器、任一种操作系统的网络环境中运行的软件,实行所谓的“程序写一次,到处运行”的目标。正因为如此,Java已成为当今Internet上最流行、最受欢迎的一种程序开发语言。 Java开发小组把Java按特性分为基本版、移动版、企业版,每个版本有一个软件开发包。Java基本版本叫Java 2标准版(Java 2 Standard Edition,J2SE),它包含建立Java应用程序或者是Applet 所需的应用程序编程接口(API)。Java 2移动版(The Java 2 Mobile Edition,J2ME)包含创建无线Java应用程序的API。还有Java 2 企业版(The Java 2 Enterprise,J2EE)是J2SE的增强版本,包含建立多层架构应用程序API。 Java语言是由C++语言发展起而来的,是一种彻底的面向对象的程序设计语言。作为一种纯面向对象的程序设计语言,它非常适合大型软件的开发。Java语言去掉了C++语言的一些容易引起错误的特性。Java语言的特点有:面向对象、跨平台、安全性、多线程和图

几何画板实验报告(函数y=Asin(ωx+φ)图象)

实验报告 实验项目:设计制作课堂教学型的课件 班级:姓名: 学号:实验时间:2013 年月日 一、实验目的:通过计算机辅助教学的理论与实践相结合,查阅资料,设计制作中学数学某一节课(自选内容)的课堂教学型课件,在实验过程中掌握课堂教学型课件设计方法与制作技巧。 二、实验设备:多媒体计算机、几何画板等 三、教学设计方案

四、课件的创作思路 按照课本要求,考虑到函数y=Asin(ωx+φ)的图象相对难掌握,特选取几何画板作为课件的制作软件。课件设计由浅入境,通过对旧知识点的回顾复习,再慢慢计入新知识点的学习,以问题为基本主导线,注重学生自主动手,自主学习能力,通过讨论,探讨问题渐渐深入课程学习,渐渐把握参数φ、ω、A对函数y=Asin(ωx+φ)的图象的影响。所以课件在设计中看重问题,情景的设计,以及如何让学生更容易,更直观地了解,掌握参数φ,ω,A对函数y=Asin(ωx+φ)的图象的变换规律。讲授新知识点后及时进行例题讲解,让学生查漏补缺,真正把知识学懂,学通,学透,本课件按照人教版要求,符合普遍学生的学习接受能力,通过提出问题观察图片,吸引学生的注意力,以带动学生思考问题。在传递新内容上,通过图文解说,形象表达学习内容,层次分明,能让学生容易理解、学习和掌握知识。学习完新知识后,进行一段小结,巩固学生记忆。最后布置几道与这节课内容相关的习题,是为了巩固本节课内容。使学生通过本节课,能基本掌握参数φ,ω,A对函数y=Asin(ωx+φ)的图象的变换规律。 五、思考题

分析课件所使用的媒体在课堂教学实践中的作用。 本课件主要应用了几何画板软件,应用几何画板的“形象、直观”的动态效果,能很好的演示课本上的内容和几何图片,容易让学生理解掌握新概念。本节课的一些思考及练习,能很好的培养学生的发散思维,达到举一反三的目的。几何画板的重要作用就是能准确地表达几何图像。本课件适用大部分地区高中学校的课堂教学。

Java程序设计实验报告分析

学生实验报告 (理工类) 课程名称: JAVA程序设计专业班级: 13电子信息工程(2)学生学号: 1305102056 学生姓名:许伟铭 所属院部:软件工程学院指导教师:王倩倩 20 15 ——20 16 学年第 2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:JAVA编程基础实验学时: 4 同组学生姓名:————实验地点: 1514/A203 实验日期: 2016.04.08 实验成绩: 批改教师:王倩倩批改时间:

一、实验目的和要求 (1)熟练掌握JDK1.7及Eclipse Kepler Service Release 1(下简称Eclipse)编写调试Java应用程序及Java小程序的方法; (2)熟练掌握Java应用程序的结构; (3)了解Java语言的特点,基本语句、运算符及表达式的使用方法; (4)熟练掌握常见数据类型的使用; (5)熟练掌握if-else、switch、while、do-while、for、continue、break、return 语句的使用方法; (6)熟练掌握数组和字符串的使用; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows 操作系统,装有JDK1.7和Eclipse软件。 三、实验过程 (1)分别使用JDK命令行和Eclipse编译运行Java应用程序。记录操作过程。 Java应用程序参考如下: 思考:1. 适当添加注释信息,通过javadoc生成注释文档; 2. 为主方法传递参数“Hello world”字符串,并输出; 3. 压缩生成".jar"文件。 (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。 记录操作过程。 Java小应用程序参考如下:

画图工具可行性报告

Java实训课程设计报告Windows画图工具 专业:计算机科学与技术班级:11092311 姓名:曾思哲 学号:11923110

2014年6月

项目简介

Windows画图工具的设计 第1章需求分析 1.1 项目背景 随着社会的不断发展,人们对画面要求越来越高,对画图工具的软件提出了更高的要求。 画图工具的软件可以让用户更加节省时间,可以从其他文件找出一些图片修改一下就可以使用,比起传统的手工的画图来说,不单单是节省时间而且画面要好的多,保存起来也比较方便,下次在用的时候一找就出来了。在比如画面的修改在这套软件上我们可以直接使用彩色,使画面更直观,而且还可以修改,画图的软件现在应用于各行各业,这款软件特别适合教学用,学生画图也是比不可缺少的。 1.2 需求分析 需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户问题的分析,确定系统的功能需求。这个步骤是对理解需求的升华,直接关系到该系统的质量。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通机制,因此,系统的需求分析也应该是开发人员和用户或客户一起完成的。 1.2.1画图板的性能要求 (1) 统一处理的准确性和及时性。 (2) 软件的开放性和可扩充性。 (3) 软件的易用性和易维护性。 1.2.2画图板的功能分析 我们作的是Windows画板,再设计时应该考虑到用户的需要和画图的习惯。所以我们需求分析的主要任务就是来了解用户画图时的习惯。尽量让用户满意。在此我们是先设计一个大概的程序模型让别人试试我的画图板。

第2章概要设计 2.1 软件设计 1.1.1 本软件是设计一套在windows平台下的画图工具,主要用于主要用于画图、打开图画类的页面修改并保存成用户需要的格式。系统采用C/S结构,主要用于客户端,供客户学习、工作使用,本软件提供良好的界面,操作简单。 第3章详细设计 3.1 模块设计 该系统由4个模块构成,分别是工具模块、储存模块、颜色模块、帮助模块。 ●工具模块 画笔(PencilTool)、格式刷(BrushTool)、喷墨工具(AtomizerTool)、橡皮(EraserTool)、直线(LineTool)等主要用于不同情况的使用,在面板上方便用户的使用。 ●储存模块 ①判断当前画板是否保存(MyImage)。 ②设置多种存储的格式供用户选择,增加文件过滤器(addFilter)。 ③存储路径可以设置默认的。 ●颜色模块 通过创建颜色选择器(ColorChooser),来让用户获取颜色,供用户使用。 ●帮助模块 系统帮助文档和软件的声明。 3.2 功能设计 主要功能如下: 1、画笔 PencilTool这个类继承于AbstractTool类,PencilTool类中有个对象Tool 用户通过点击画板上的图标来获取画笔,它的功能让用户用来画出各种图形。 2、格式刷子 BrushTool这个类继承于AbstractTool类,它的功能让用户画出更好的图形。

软件工程JAVA课程设计报告

西安科技大学 软件工程课程设计报告 题目:画图板应用程序开发 班级 学号: 姓名: 2010年12月

目录 1 绪论 (3) 2 可行性研究报告 (3) 3 需求分析报告 (4) 4 总体设计报告 (7) 5 详细设计报告 (8) 6 系统实现报告 (12) 7软件测试报告 (32) 参考文献

1、绪论 1.1 目的和意义 用过微软Windows操作系统的人一定都对Windows自带的画图板非常熟悉了。同图像处理软件界的老大Photoshop比起来,它虽然不及Photoshop的功能强大,内容丰富,但是作为Windows一直以来都内带的附件程序,它具有小巧玲珑,简单实用等其他绘图软件所不具备的优点。同时它的风格也被许多其他的绘图软件所仿效。 作为一个软件工程专业的学生自己也想亲自动手编写一个属于自己的,简单实用的绘图程序。通过本次课程设计可以增加对整个流程的熟悉以及对程序组织结构和框架的理解,对以后开发和设计更大更复杂的程序无疑有更大的帮助。 任务 书写开发文档,分析和制定整个开发过程,然后开发一个自己的画图板应用程序。 2、可行性研究报告 进行可行性研究的方法 本应用程序可行性研究是通过对比windows自带的画板程序的方式进行的,对Windows 里面的画板进行分析研究,分析得出本应用软件应该实现的基本功能,并根据自己的能力进行了功能上的增加。 评价尺度 本软件在评价时应从以下几个方面进行分析: 开发时间应尽量短; 功能实现的代码应尽量少; 代码执行效率要高; 有较强的容错能力; 技术方面的可行性 系统现阶段的发展过程中,利用现有人力和物力是完全具备的能力开发出来的,作为阶段性产品,日后的发展空间大,实现方法逐步简单容易,所以画图板应用程序在技术上是完全可行的。 a.在当前的限制条件下,该程序的功能目标能达到; b.利用现有的技术,该程序的功能可以实现; c.由于能力的不足,现阶段的功能不够完美,还可以在日后完善; d.在规定的限期内,本程序能够完成; 法律方面的可行性 本程序不会在后台扫描用户的磁盘文件; 本程序为完全免费,没有任何盈利行为,而且仅在内部流通,不予推广,所以不涉及浸犯微软版权的行为,所以本软件完全合法。 软件服务条款要与中华人民共和国的法律解释相一致,一致同意服从高等法院所有管辖。如发生软件服务条款与中华人民共和国法律相抵触时,则这些条款将完全按法律规定重新解释,而其它条款则依旧保持对用户产生法律效力和影响。 经济可行行

java画板程序

简单的Java画板程序 import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.io.*; import javax.imageio.*; import javax.swing.*; public class huaban { JFrame f=new JFrame("画板"); //JPanel P1=new JPanel(); //JPanel P2=new JPanel(); JToolBar jtb=new JToolBar("工具"); DrawCanvas drawArea=new DrawCanvas(); int preX = -1; int preY = -1; int X=0; float con=1; int Econ=5; JButton btn0=new JButton(new ImageIcon("image/12.png"));//打开JButton btn1=new JButton(new ImageIcon("image/13.png"));//保存JButton btn2=new JButton(new ImageIcon("image/1.png"));//画笔 JButton btn3=new JButton(new ImageIcon("image/2.png"));//直线 //JButton btn4=new JButton("曲线"); JButton btn5=new JButton(new ImageIcon("image/3.png"));//椭圆 JButton btn6=new JButton(new ImageIcon("image/4.png"));//矩形 JButton btn7=new JButton(new ImageIcon("image/7.png"));//调色板//JButton btn8=new JButton("当前颜色"); JButton btn9=new JButton(new ImageIcon("image/14.png"));//橡皮JButton btn10=new JButton(new ImageIcon("image/6.png"));//清除JButton btn11=new JButton(new ImageIcon("image/8.png"));//黑色JButton btn12=new JButton(new ImageIcon("image/9.png"));//红色JButton btn13=new JButton(new ImageIcon("image/10.png"));//绿色JButton btn14=new JButton(new ImageIcon("image/11.png"));//蓝色JButton btn15=new JButton("1");//画笔大小 JButton btn16=new JButton("2"); JButton btn17=new JButton("3"); JButton btn18=new JButton("4"); JButton btn19=new JButton("1");//橡皮大小

使用“平移”“旋转”与“轨迹”功能绘制复杂几何图形

几何画板实验报告:使用“平移”“旋转”与“轨迹”功能绘制复 杂几何图形 一、实验目的 掌握“平移”“旋转”与“轨迹”功能及其应用,能熟练将前两者结合绘制复杂图形。 二、实验内容 题目1、绘制正五边形并设置控制按钮使其绕中心旋转180度。 步骤:1、先绘制正五边形。 (1)、任意绘制一条线段,选择旋转72度,连续旋转5次(图1) (2)、连接端点,构成正五边形并得出中点O(图2) 图1 图2 2、【构造】一个圆E,【构造】圆上的半段弧GF,并【构造】弧上的一点D(图3) 图3 图4 3、设定角度DEF为标记角度,选中正五边形,点击【变换】,【旋转】,选择标记角度并以中心O为旋转中心。(图4) 4、选中点G,E选择【编辑】,【操作类按钮】,【移动】命令,得到名为“从D→G移动”的按钮,同理得名为“从D→F移动”的按钮.图5为旋转180度的图像和两个按钮。

图5 题目2、作出圆柱及过其棱上一点且与底面平行的截面。并设置截面的平行移动。 步骤:1、作出一个同心圆A,过A作水平线,在大圆上任取一点E作水平线的垂线EF,连接AE与小圆交于点G,过点G作EF的垂线,交于点H,以E为主动点,H为被动对象构造轨迹,一次选中点E和点H【构造】【轨迹】,即圆柱的底面。(图1) 图1 图2 2、将其余图形隐藏,只留下椭圆。过椭圆中点A作水平线交于G,过A点作AG的垂线AF,并标记AF向量;将G绕A点旋转180度到G’点,在椭圆上任取一点H,将H沿AF向量的方向平移到H’点,再以H为主动点,H’为被动对象构造轨迹,得到圆柱的上底面也是一个椭圆;同理将G与G’也平移上去,再连接棱,即得到圆柱;( 图2) 3、在棱G’C上任取一点N,标记G’N向量,把H按照J’N向量的方向平移到H’’点,同样以H为主动点,H’’为被动对象构造轨迹,得到截面;(图3)

JAVA程序设计实验报告格式

《JA V A程序设计》实验报告 题目JAVA基础实战——Bank项目 专业及班级计算机科学与技术120?班 姓名________ ______ _____ __ _ 学号_________ __ _____ 指导教师_____ 孙艺珍____ __________ 日期____________2014年11月_____ __

一、实验目的 《Bank项目》以银行业务为背景,由8 组由浅入深的模块构成,通过实验,可以对面向对象的封装性、构造器、引用类型的成员变量、异构数组、继承、多态、方法的重载、方法的重写、包装类、单例模式、异常、集合等技术有更深刻的理解。 二、实验内容: 可以完成银行业务中的基本操作:添加客户,创建异构账户、储蓄卡业务(存钱、取钱)和信用卡业务(包括透支保护等)业务。 三、实验原理 该项目包含Bank、Customer、Account、SavingsAccount、CheckingAccount、OverdraftException、CustomerReport、TestBanking 等8 个类构成,Bank 和Customer、Customer 和Account(SavingsAccount、CheckingAccount)、CheckingAccount 和OverdraftException、CustomerReport 和Bank 及TestBanking 之间以方法参数、成员变量的方式建立引用、依赖关系。 (可以写一下实验过程的思路和采用的技术) 四、实验过程与结果 一些业务逻辑的流程图以及实现的结果 五、分析与讨论 对于实验结果的讨论,对于异常的分析,对于未来功能扩展的设想等等

java简易画图板

华北科技学院 课程设计说明书 班级: 网络B101 设计题目: 画图板软件开发和设计 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____评阅教师:_____ 目录 1 引言 (1)

1.1课程设计选题 (1) 1.2课程设计的目的 (1) 1.3本选题的设计背景 (1) 2 需求分析 (1) 2.1 功能需求 (1) 2.2 系统的开发运行环境 (2) 3 总体设计 (2) 3.1 系统体系结构设计 (2) 3.2系统功能模块及主要类设计 (3) 4 详细设计与实现 (6) 4.1 菜单栏模块 (6) 4.2 文字字型工具栏模块 (7) 4.3 工具栏模块 (8) 4.4 颜色选择面板模块 (10) 4.5 鼠标状态栏模块 (12) 4.6 画图区域以及整体布局模块 (13) 5 小结和展望 (15) 参考文献 (17) 附录 (17) 使用说明书 (17)

1引言 1.1课程设计选题 《画图板软件开发和设计》 1.2课程设计的目的 使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。 1.3本选题的设计背景 平时生活中,我们会需要处理一些基本的图像,也有可能需要花一些简单的图像,平时所使用的图形处理工具有 PhotoShop、Windows 画图工具等,其中PhotoShop 是一款非常强大的图形处理工具,Windows 画图工具则是一款较为简单的画图工具,功能较为简单,用Windows画图工具,是一种比较简单与具有代表性的画图工具,虽然功能不够强大,但具有大多图片处理程序所必需的基本功能:铅笔画图、各种数学函数图形、填色、取色、橡皮擦等等。所以这次课程设计我做的就是一个仿照Windows画板的程序。 通过画图板软件开发与设计,更深刻地体会java语言较之其他语言在图形用户界面的优势。熟悉java语言中常用的关于画图的各个类的功能和常用的方法(java图形用户界面中的众多函数与类的关系),并在实验过程中加深对java语言的理解与运用。 2需求分析 2.1 功能需求 对于绘图软件,应具备最基本的绘制直线,矩形框,圆形框,椭圆框等最基本功能,此外,要可以对绘制的图形进行修改;将绘制好的图形进行保存,打开以前保存的图形;在需要的时候,可以绘制实心矩形,实心圆形,实心椭圆等常见的几何图形。可

几何画板实验报告要点

实验一数学教学软件基本操作 一、实验目的: 二、实验内容: 1、作出三角形的垂心。 2、作出三角形的外接圆与内切圆。 外接圆 内切圆 3、验证:三角形三边的中点、三条高的垂足、垂心到三顶点的中点共圆。

4、作出两圆的内外公切线。 三、实验步骤 1、作出三角形的垂心。 步骤: ○1构造△ABC; ○2选中点A和线段BC,构造垂线; ○3同理,构造线段AB、BC上的垂线; ○4交点D即为垂心。 2、作出三角形的外接圆与内切圆。 外接圆步骤:

○1构造△ABC; ○2选中线段AB,构造中点E; ○3选中线段AB和点E,构造垂线; ○4同理构造线段AC、BC上的中垂线,交点为K; ○5选中点K、A,构造圆。 内切圆步骤: ○1构造△ABC; ○2选中线段AB、AC,构造角平分线; ○3选中AB、BC,构造角平分线,交点为D; ○4选中A、D,构造圆。 3、验证:三角形三边的中点、三条高的垂足、垂心到三顶点的中点共圆。 步骤: ○1构造△ABC; ○2选中线段AB、BC、AC分别构造中点D、E、F; ○3选中线段BC和点A构造垂线,垂足为H,同理得到垂足L、K,三条 垂线的交点为M; ○4选中点A和M构造线段,再选中线段AM构造中点O,同理得到点N、P; ○5选中点E、P、O构造过三点的弧,选中点O、D、E构造过三点的弧; 4、作出两圆的内外公切线。 外公切线步骤: ○1构造两圆C、D,圆心分别为C、D(注:圆C 的半径大于圆 D 的半径); ○2选中点C、D,构造直线CD; ○3在圆D 上任意取一点F,连接构造线段DF; ○4选中点C、线段DF,构造平行线交圆 C 于点G、P ○5选中点G、F,再构造直线GF 交直线CD 于点H; ○6选中点D、H,构造线段DH,再构造线段DH 的中点M; ○7依次选中M、D(H),接着“构造”—“以圆心和圆周上的点作圆”—“生成一个圆M 交圆 D 于点O 和N ; ○8分别构造出直线OH 和直线NH,即为所求的外公切线。 内公切线步骤: ○1构造线段FP 交直线CD 于点Q; ○2选中点C、Q,构造线段,再构造中点R; ○3依次选中点R、C(Q),构造圆交圆C 于点S、T; ○4分别构造出直线QT 和直线QS,即为所求的内公切线。 四、实验的结论及实验中存在的问题。

Java程序设计基础实验报告

Java程序设计基础实验报告50—53 实验50 FileInputStream类的应用 实验目的: 1.学习FileInputStream类的语法格式 2.学习FileInputStream类的使用 实验要求 编写一个Java程序,在main()中生成FileInputStream的一个实例,使它能打开文件myfile.txt,并能够把文件内容显示在屏幕上。 程序运行效果:如图所示 程序模板:package https://www.doczj.com/doc/4d11249510.html,.tt; import java.io.*; class ShowFile { public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub int i; FileInputStream fin; fin=new FileInputStream("d:\\myfile.txt"); do{ i=fin.read(); if(i!=-1) System.out.print((char)i); }while(i!=-1); fin.close(); } }

实验51 FileOutputStream类的应用 实验目的: 3.学习FileOutputStream类的语法格式 4.学习FileOutputStream类的使用 实验要求:编写一个Java程序,把文件myfile.txt复制到youfile.txt文件中。 程序运行效果:如图所示 程序模板:package https://www.doczj.com/doc/4d11249510.html,.tt; import java.io.*; class CopyFile { public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub int i; FileInputStream fin; FileOutputStream fout; fin=new FileInputStream("d:\\myfile.txt"); fout=new FileOutputStream("d:\\yourfile.txt"); do{ i=fin.read(); if(i!=-1) fout.write(i); }while(i!=-1); fin.close(); fout.close(); System.out.print("myfile.txt内容已经被复制到yourfile.txt文件中"); } }

相关主题
文本预览
相关文档 最新文档