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

简单画图板

    博客分类:
  • 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简易画图板

    简易画图板。有基本形状绘制,加铅笔和橡皮,可撤销清除。可保存打开。

    C#开发的简单画图板

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

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

    可选中图形作图,可擦除,带有颜色条,可选择线条粗细的Flash简易画图板

    Java简易画图板

    利用Java写的简易画图板,包括直线、铅笔、圆形、矩形、橡皮以及修改颜色、线形大小和虚实。

    仿照win的简易画图板

    (仿照win的画图板)自己做的简易画图板,圆形,矩形,移动,剪切,填充,铅笔,保存,新建,打开,都有,只有字体透明效果没有实现了。其他的大部分功能都已经实现。

    简单画图板的设计

    NULL 博文链接:https://chang0501.iteye.com/blog/936396

    MFC 简易画图板

    MFC画图 支持曲线 直线 矩形 椭圆 可调线条粗细 颜色 右下角实时显示鼠标的当前坐标

    简单画图板,可同时画方圆

    简单画图板,可同简单画图板,可同时画方圆时画方圆简单画图板,可同时画方圆简单画简单画图板,可同时画方圆图板,可同时画方圆简单画图板,可同时画方圆

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

    使用VB语言编写的简易画图板程序,界面美观、简洁,功能强大

    C#的简单画图板源码

    C#的简单画图板源码,可以画出矩形、曲线、椭圆,也可选择系统颜色。对于想做画图工具的新手可以有帮助。

    Java实现简易画图板

    简单的画图板,可以画出直线、圆、曲线、喷枪、直角矩形、圆角矩形等图形,而且可以通过橡皮擦擦除。

    简易画图板程序java

    图形学基本内。可以画直线、圆,填充图形,移动图形等等。改进原来的内容。是课程设计的内容。希望有所帮助。用java写的

    简易画图板,仿windows自带的画图板

    简易画图板,仿windows自带的画图板,能画直线、圆、椭圆、多边形,矩形,圆角矩形,铅笔涂鸦,能在背景图上画图。可与背景一起保存为.bmp格式的图片。提供源代码,有详细的注解。有兴趣的朋友可以拿去修改并完善。

    vc++课程设计 Paint Board简易画图板

    Paint Board简易画图板包括源程序、封面、任务书。是比较完整的一套,很值得大家借鉴

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

    本软件是利用 VC++这个强大的可视化编程工具开发的,软件主要功能包括图 形的绘制、线型的设置、颜色的设置,图形... 本文介绍了如何完成上述功能,同时详细阐述了画图系统的实现过程以及对 画图系统所做的功能扩充。

    用java编写的简易画图板

    用java编写的简易画图板,可以画直线、圆、椭圆等图形,程序简单易懂,适合初学者参考。

    QT简易画图板程序

    qt做的一个简易画图板 实现各种图形绘画 下载后将VC++目录包含以下即可执行

    java实现简易画图板源码

    这是用java实现的一个简易画图板的源码,提供给需要的朋友。

    简易画图板1.2版本

    简易画图板的实现,有以下功能:铅笔,橡皮,直线,矩形,椭圆,圆角矩形,颜色面板,工具面板,重绘。

Global site tag (gtag.js) - Google Analytics