制作一个简单画图板
简单的画图板,能够在窗口中通过鼠标的移动来画出简单的图形。
首先需要建立一个JFrame界面,设置该界面的各种属性(size,title……)。
在JFrame中有一个getGraphics()方法,可以得到一个Graphics对象,该对象又有许多draw方法,可以实现“画”这一行为,draw方法的参数是鼠标所在坐标,这样就可以通过移动鼠标来进行绘画,问题是如何让draw方法得到鼠标实时的坐标位置信息呢?
关键:添加鼠标监听器,用来接受鼠标事件(click,pressed,released……)。
在JFrame类中有添加鼠标事件监听器的方法 frame.addMouseListener();
不过,通过查看MouseListener的源代码可以知道,它是一个接口,方法体都是空的。想要使用它,必须新建一个类实现该接口,对原来的方法进行重写(由于是普通类接口,所有方法都要重写)。
public class MyMouseListener implements MouseListener { }
在该类中,创建画布Graphics,并重载一个带Graphics类参数的构造方法,这样,就把画布和鼠标监听器联系在一起了,之后就可以在鼠标监听器接受鼠标事件的方法中使用画布Graphics的各种draw方法,也就使鼠标的各种行为和“画”的行为联系在一起。
//鼠标的点击Click行为 public void mouseClicked(MouseEvent e) { int x = e.getX(); int y = e.getY(); //设置画笔颜色 Color c= new Color(86,55,78); g.setColor(c); //画实心圆 g.fillOval(x-50, y-50, 100, 100); }
可以根据要求对鼠标坐标进行处理,使画图位置更加方便(比如在上面的代码中,使鼠标点击的位置成为所画圆的圆心,而不是外切正方形的左上角)
来个好玩的补充环节~
如果想画出些复杂图形,用循环可以实现意想之外的效果~
对色彩变化,图形大小位置变化的要求都可以通过循环来一一实现
效果绝对好玩
public void mouseClicked(MouseEvent e) { for(int i=0;i<50;i++){ Color c=new Color(4*i,0,3*i); g.setColor(c); int x=e.getX(); int y=e.getY(); g.drawOval(x+10, y,50-i/2,50-i/2); } }
还可以吧。。
相关推荐
【JAVA简易画图板】是一个基于Java编程语言开发的简单绘图应用程序,它为用户提供了一个基本的图形界面,用户可以通过这个界面进行简单的绘画操作。这个程序包含了一些基本的绘图功能,如绘制形状、使用铅笔工具以及...
"简单画图板的设计"是一个关于创建一个基本图形编辑器的话题,主要涉及到计算机图形学、用户界面设计以及可能的编程实现。在这个项目中,我们可能会遇到以下关键知识点: 1. **计算机图形学基础**:画图板应用的...
《Flash简易画图板:选中工具作图与互动功能详解》 在数字艺术和教育领域,Flash作为一种曾经广泛使用的交互式矢量图形和多媒体平台,曾为许多开发者提供了丰富的创作空间。本篇文章将深入探讨一个基于Flash开发的...
在本文中,我们将深入...通过以上步骤,我们可以构建一个功能完备的MFC简易画图板应用。这个过程涉及到Windows编程基础、MFC类库的使用、图形绘制以及用户交互等多个方面,是学习MFC和Windows编程的一个良好实践项目。
### 基于VC++MFC程序设计——简易画图板 #### 概述 本文档将详细介绍如何利用VC++中的MFC(Microsoft Foundation Classes)框架来开发一款简易的画图板应用程序。该画图板的主要功能包括但不限于图形的绘制、线型...
C# 开发的简单画图板 含源代码 C# 开发的简单画图板 含源代码 C# 开发的简单画图板 含源代码
【简易画图板程序java】是一个基于Java编程语言实现的简单图形绘制软件,它涵盖了图形学的基本概念和技术,为用户提供了一个交互式的平台,可以进行基本的图形绘制操作。这个程序的核心功能包括画直线、绘制圆以及对...
【Java简易画图板】是一个基于Java编程语言开发的简单图形绘制工具,它为用户提供了一个基本的画布,用户可以通过各种绘图工具进行创作。这个程序包含了一系列基础的图形元素和编辑功能,如直线、铅笔、圆形和矩形,...
"MFC简单画图板"是一个基于Microsoft Foundation Class (MFC)库开发的简易绘图应用程序。MFC是微软提供的一套面向对象的C++类库,它为Windows应用程序开发提供了便利,封装了Windows API,使得开发者能更高效地构建...
本项目“virtual c++6.0 mfc简易画图板”正是基于VC++ 6.0的MFC库,实现了类似Windows自带画图板的功能,让用户能够进行简单的图形绘制,如直线、圆、矩形和椭圆,并且可以调整线条的颜色和类型。 一、MFC库介绍 ...
通过以上步骤,我们可以构建一个功能齐全的Java简易画图板。这个项目不仅可以帮助学习者掌握Java GUI编程,还能加深对图形绘制和事件处理的理解。在实际开发过程中,还可以进一步增加撤销/重做功能、图层管理、...
《VC++简易画图板详解》 在计算机编程领域,C++是一种强大的、面向对象的编程语言,广泛应用于系统软件、应用软件、游戏开发、驱动程序等各个领域。本项目以VC++为工具,利用MFC(Microsoft Foundation Classes)...
【标题】"仿照win的简易画图板"是一个基于计算机图形学原理和技术,模仿Windows操作系统内置的“画图”程序开发的简单图形编辑软件。这个应用提供了基本的绘图工具,让用户能够进行简单的图形创作和编辑。 【描述】...
【VB语言编写的简易画图板程序】 VB(Visual Basic)是Microsoft开发的一种可视化的、面向对象的编程语言,尤其适合初学者入门。这个“简易画图板程序”利用VB的强大功能,创建了一个用户友好的图形界面,允许用户...
这个“VB简易画图板 鼠标响应”项目主要涉及以下几个核心知识点: 1. **窗体控件**:首先,我们需要一个主窗体(Form)作为画图板的基础,它将承载所有的绘图操作。可以设置窗体的背景色为白色或其他颜色,以模拟...
在这个简易画图板项目中,我们可能需要使用`JFrame`作为应用程序的主窗口,`JPanel`作为画布,以及`Graphics2D`对象进行绘图。 1. **JFrame**: 是Swing中的顶级容器,相当于窗口。在这里,我们将用它来创建我们的...
【简易画图板】是一个基础的图形绘制工具,它的核心目标是提供一个简单易用的平台,让用户可以进行基本的绘图操作。虽然功能相对有限,但该项目在开发过程中运用了两种重要的技术——橡皮筋技术和双缓存技术,这在...
本项目“C#简易画图板”就是利用C#语言在Visual Studio 2010环境下构建的一个简单绘画应用程序。该程序旨在提供基本的绘图功能,让初学者了解图形用户界面(GUI)编程和事件处理的基础知识。 首先,我们来了解一下...
在这个简易画图板项目中,我们将主要关注框架窗口和视图这两个组件。 **框架窗口与视图** - **框架窗口 (CFrameWnd)**:这是MFC中的顶级窗口类,通常作为应用程序的主窗口。它包含了菜单、工具栏和状态栏等元素。在...