`
西口西
  • 浏览: 10035 次
社区版块
存档分类
最新评论

简单画图板

    博客分类:
  • java
 
阅读更多



 制作一个简单画图板

简单的画图板,能够在窗口中通过鼠标的移动来画出简单的图形。

 

首先需要建立一个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);
		}
	}

 

还可以吧。。

  • 大小: 2.1 KB
分享到:
评论
1 楼 MYS_SF 2014-07-13  

相关推荐

    JAVA简易画图板

    【JAVA简易画图板】是一个基于Java编程语言开发的简单绘图应用程序,它为用户提供了一个基本的图形界面,用户可以通过这个界面进行简单的绘画操作。这个程序包含了一些基本的绘图功能,如绘制形状、使用铅笔工具以及...

    简单画图板的设计

    "简单画图板的设计"是一个关于创建一个基本图形编辑器的话题,主要涉及到计算机图形学、用户界面设计以及可能的编程实现。在这个项目中,我们可能会遇到以下关键知识点: 1. **计算机图形学基础**:画图板应用的...

    Flash简易画图板(选中工具作图)

    《Flash简易画图板:选中工具作图与互动功能详解》 在数字艺术和教育领域,Flash作为一种曾经广泛使用的交互式矢量图形和多媒体平台,曾为许多开发者提供了丰富的创作空间。本篇文章将深入探讨一个基于Flash开发的...

    MFC 简易画图板

    在本文中,我们将深入...通过以上步骤,我们可以构建一个功能完备的MFC简易画图板应用。这个过程涉及到Windows编程基础、MFC类库的使用、图形绘制以及用户交互等多个方面,是学习MFC和Windows编程的一个良好实践项目。

    基于VC++MFC程序设计——简易画图板

    ### 基于VC++MFC程序设计——简易画图板 #### 概述 本文档将详细介绍如何利用VC++中的MFC(Microsoft Foundation Classes)框架来开发一款简易的画图板应用程序。该画图板的主要功能包括但不限于图形的绘制、线型...

    C#开发的简单画图板

    C# 开发的简单画图板 含源代码 C# 开发的简单画图板 含源代码 C# 开发的简单画图板 含源代码

    简易画图板程序java

    【简易画图板程序java】是一个基于Java编程语言实现的简单图形绘制软件,它涵盖了图形学的基本概念和技术,为用户提供了一个交互式的平台,可以进行基本的图形绘制操作。这个程序的核心功能包括画直线、绘制圆以及对...

    Java简易画图板

    【Java简易画图板】是一个基于Java编程语言开发的简单图形绘制工具,它为用户提供了一个基本的画布,用户可以通过各种绘图工具进行创作。这个程序包含了一系列基础的图形元素和编辑功能,如直线、铅笔、圆形和矩形,...

    MFC简单画图板

    "MFC简单画图板"是一个基于Microsoft Foundation Class (MFC)库开发的简易绘图应用程序。MFC是微软提供的一套面向对象的C++类库,它为Windows应用程序开发提供了便利,封装了Windows API,使得开发者能更高效地构建...

    virtual c++6.o mfc简易画图板

    本项目“virtual c++6.0 mfc简易画图板”正是基于VC++ 6.0的MFC库,实现了类似Windows自带画图板的功能,让用户能够进行简单的图形绘制,如直线、圆、矩形和椭圆,并且可以调整线条的颜色和类型。 一、MFC库介绍 ...

    Java实现简易画图板

    通过以上步骤,我们可以构建一个功能齐全的Java简易画图板。这个项目不仅可以帮助学习者掌握Java GUI编程,还能加深对图形绘制和事件处理的理解。在实际开发过程中,还可以进一步增加撤销/重做功能、图层管理、...

    vc++简易画图板

    《VC++简易画图板详解》 在计算机编程领域,C++是一种强大的、面向对象的编程语言,广泛应用于系统软件、应用软件、游戏开发、驱动程序等各个领域。本项目以VC++为工具,利用MFC(Microsoft Foundation Classes)...

    仿照win的简易画图板

    【标题】"仿照win的简易画图板"是一个基于计算机图形学原理和技术,模仿Windows操作系统内置的“画图”程序开发的简单图形编辑软件。这个应用提供了基本的绘图工具,让用户能够进行简单的图形创作和编辑。 【描述】...

    VB语言编写的简易画图板程序

    【VB语言编写的简易画图板程序】 VB(Visual Basic)是Microsoft开发的一种可视化的、面向对象的编程语言,尤其适合初学者入门。这个“简易画图板程序”利用VB的强大功能,创建了一个用户友好的图形界面,允许用户...

    VB 简易 画图板 鼠标响应

    这个“VB简易画图板 鼠标响应”项目主要涉及以下几个核心知识点: 1. **窗体控件**:首先,我们需要一个主窗体(Form)作为画图板的基础,它将承载所有的绘图操作。可以设置窗体的背景色为白色或其他颜色,以模拟...

    java实现简易画图板源码

    在这个简易画图板项目中,我们可能需要使用`JFrame`作为应用程序的主窗口,`JPanel`作为画布,以及`Graphics2D`对象进行绘图。 1. **JFrame**: 是Swing中的顶级容器,相当于窗口。在这里,我们将用它来创建我们的...

    简易画图板

    【简易画图板】是一个基础的图形绘制工具,它的核心目标是提供一个简单易用的平台,让用户可以进行基本的绘图操作。虽然功能相对有限,但该项目在开发过程中运用了两种重要的技术——橡皮筋技术和双缓存技术,这在...

    C#简易画图板

    本项目“C#简易画图板”就是利用C#语言在Visual Studio 2010环境下构建的一个简单绘画应用程序。该程序旨在提供基本的绘图功能,让初学者了解图形用户界面(GUI)编程和事件处理的基础知识。 首先,我们来了解一下...

    基于VC++MFC程序设计简易画图板

    在这个简易画图板项目中,我们将主要关注框架窗口和视图这两个组件。 **框架窗口与视图** - **框架窗口 (CFrameWnd)**:这是MFC中的顶级窗口类,通常作为应用程序的主窗口。它包含了菜单、工具栏和状态栏等元素。在...

Global site tag (gtag.js) - Google Analytics