- 42
- 0
- 约1.15万字
- 约 26页
- 2018-10-16 发布于天津
- 举报
Java程序设计绘图软件的开发.ppt
Java程序设计绘图软件的开发 一、设计简介: 绘图软件的开发,顾名思义,就是要开发一个能进行绘图的程序,为了能获取鼠标单击点的位置信息,需要用鼠标事件监听程序MouseListener和MouseMotionListener来获取鼠标事件,为此说明一个类来说明和实现这两个接口。还要调用调色板。 二、设计目的: 整个程序完成后,能实现简单的绘图功能。能用鼠标拖动画出椭圆,正圆,直线,正方形,长方形,弧线,还能设置颜色,具有擦出、清除、保存等功能。 三、技术要点: CVS已继承于Component,因为java中没有多重继承机制,所以它不能再继承MouseAdapter类,而只能实现监听程序接口,所以程序中需要有实现这两个接口的全部方法,包括:mouseClicked()、mouseEntered()、mouseExited()、mousePressed()、mouseReleased()、mouseMoved()、mouseDragged(),对于用不到的方法,可以令方法为空。 对于Component,需使用addMouseListener(this)和addMouseMotionListerner(this)来添加事件监听程序,并在类中实现鼠标按下(mousepressed)和拖拉(mouseDragged)方法。鼠标按下时得到画图区域的左上角位置,拖拉过程中得到画图区域的右下角位置。因为是在鼠标拖拉过程中得到右下角坐标,所以要重新实现public void mouseDragged()方法。 四、源代码分析: import java.awt.*; //包含用于创建用户界面和绘制图形图像的所有类 import java.awt.event.*; import java.awt.geom.*;//提供用于在与二维几何形状相关的对象上定义和执行操作的 Java 2D 类 import java.awt.image.BufferedImage;//抽象类 Image 是表示图形图像的所有类的超类 import java.io.*;//文件输入输出流 import java.util.ArrayList; import javax.swing.*; import javax.swing.filechooser.FileNameExtensionFilter; public class JDraw { public static void main(String[] args) { JFrame f=new JFrame(); //实例化一个窗体 f.setDefaultCloseOperation(3);//添加关闭按钮 f.setSize(880,600); f.setLocationRelativeTo(null);//此窗口位于屏幕的中央 f.getContentPane().add(M.c);//初始化一个容器 f.getContentPane().add(M.m,South); f.setVisible(true);//使可视化窗口组件显示 } } class CVS extends Component implements ComponentListener,MouseListener,MouseMotionListener/*用于接收组件上的鼠标移动事件的侦听器接口*/ { public void componentHidden(ComponentEvent e) {}//组件变得不可见时调用 public void componentMoved(ComponentEvent e) {}//组件位置更改时调用 public void componentResized(ComponentEvent e) {resized();}//组件大小更改时调用 public void componentShown(ComponentEvent e) {}//组件变得可见时调用 private void resized() { int w=this.getWidth(); int h=this.getHeight(); tbuff=new BufferedImage(w,h,3);//描述具有可访问图像数据缓冲区的 Image makeBuff(w,h); } private void makeBuff(int w,int h) { Graphics g = tbuff.getGraphics(); g.drawImage(buff,0,0,null);//绘制指定图像中当前可用的图像 g.dispose(); buff=new Buffere
您可能关注的文档
- A股入富的指数效应把握短期交易性机会.PDF
- B0829-ZQPJ0300-2011翔鹭石化2012年中票更新报告120113.PDF
- B2C电子商务经营电子商务经营模式顾客价值创造之研究.PDF
- Bahru作为家用电线及低压电力电缆制造商开始经营.PDF
- DEM地形信息量计算的不确定性研究.PDF
- FEKOSuite5.5基本算法介绍.ppt
- JavaCard开发环境的配置和使用.PDF
- JavaScript控制结构及函数.ppt
- JavaWeb应用开发简介.PDF
- Java入门基本概念.doc
- 安徽省安庆市潜山市部分学校2025-2026学年七年级下学期阶段学情自测数学试题-普通用卷.docx
- 2026《微型无人机的设计基础综述》2600字.docx
- 安徽六安市金安区2025-2026学年八年级上学期2月期末物理试题-普通用卷.docx
- 2026《五菱汽车公司经营者股权激励实施成效及其启示》9700字.doc
- 北京市第一零九中学2026届高三下学期开学考试数学试题-普通用卷.docx
- 北京海淀实验中学2026届高三下学期数学开学检测试题-普通用卷.docx
- 2026《五菱汽车公司融资模式及融资风险分析》8700字.doc
- 2026《五菱汽车公司物流成本控制研究》文献综述开题报告(含提纲)3800字.doc
- 2026《五菱汽车公司薪酬改革问题研究》开题报告(文献综述)4200字.doc
- 2026《物流企业反内卷的战略转型研究—以顺丰控股为例》13000字.doc
最近下载
- 施工临时用电专项施工方案.pdf VIP
- 2026天津城投集团校招面笔试题及答案.doc VIP
- 2025年江苏学位英语试卷及答案.doc VIP
- 2026年江西信息应用职业技术学院单招职业适应性测试题库参考答案详解.docx VIP
- 造价咨询全过程实施方案.docx VIP
- 2025-2026年演出经纪人之演出市场政策与法律法规模拟题库及答案下载.pdf VIP
- 2025年春西师大版一年级下册数学全册课件.pptx
- 2026年春教科版(新教材)小学科学二年级下册(全册)教学设计(附目录P91).pdf
- 2025年深入贯彻中央八项规定精神学习教育应知应会试题含完整答案详解.docx VIP
- T∕GDEA 001-2024 智能配电房技术规范.pdf VIP
原创力文档

文档评论(0)