`
xiaozhouzhou
  • 浏览: 13358 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

重绘方法的重写利用

 
阅读更多
重绘是为了在画布上保留原始痕迹的一种方法,他的目的是用来保存你原始数据,以免退出再进入时数据的丢失。下面以代码举例:
import java.awt.Graphics;
import javax.swing.JFrame;
//继承Jframe来创建窗体
public class Repatine extends JFrame{
	//数组的创建
	MyShape[] my=null;
	public void showUI(){
	setSize(600,600);
	setTitle("重绘");
	setSize(600,600);
	setResizable(false);
	FlowLayout flo=new FlowLayout();
	setLayout(flo);
	setDefaultCloseOperation(3);
	setVisible(true);
	Graphics g=this.getGraphics();
	//实例化对象
	Paint pa=new Paint();
	//属性的赋值
	pa.g=g;
	my=pa.ms;
	//监听器的运用
	this.addMouseListener(pa);
	}
	//重绘方法的实现
	public void paint(Graphics g){
		//引用父类Jframe的方法
		super.paint(g);
		for(int i=0;i<my.length;i++){
			MyShape m=my[i];
		if(m!=null)
			//画实心圆
			g.fillOval(m.x,m. y,m.x1,m.y1);
		}
	}
	public static void main(String []args){
		//实例化对象、以及方法的调用
		Repatine rp=new Repatine();
		rp.showUI();
	}
}
//创建MyShape类用于保存数组数据
public class MyShape {
	int x,y,x1,y1;
	//构造函数的参数传递
	public MyShape(int x,int y,int x1,int y1){
		this.x=x;
		this.y=y;
		this.x1=x1;
		this.y1=y1;
		
	}
}
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class Paint implements MouseListener{
	//定义属性和数组
	Graphics g;
	MyShape[] ms=new MyShape[50];
	int count=0;
	public void mouseClicked(MouseEvent e) {
		int x=e.getX();
		int y=e.getY();
		g.fillOval(x, y, 50, 50);
		//将得到的圆数据传递给数组ms[]并保存
		MyShape m=new MyShape(x,y,50,50);
		ms[count]=m;
		count++;
	}
}
分享到:
评论

相关推荐

    C#重绘windows窗体标题栏和边框

    C#重绘windows窗体标题栏和边框,主要描述了C#中窗体的重绘和边框的重绘

    重绘groupbox的例子

    VC6下重绘groupbox的例子,显示效果比较好看,可用于美化界面。 使用方法为,将XPGroupBox.cpp和XPGroupBox.h添加到你的VC工程中,在界面中添加groupbox,并将其关联到CXPGroupBox类型的变量即可。利用此变量提供的...

    MFC界面美化之-按钮美化(重绘按钮)

    这个项目文件是对mfc的按钮进行美化的一个完整工程,主要是利用图片贴图,来达到美化按钮的效果,把对应的对按钮进行重写的类,封装成了mybutton.h,mybutton.cpp。可以下载下来进行复用,我使用的开发软件是VS2022. ...

    Android利用SurfaceView实现下雨的天气动画效果

    每 draw 一次然后改变雨滴的位置然后重绘即可实现雨滴的下落效果 分析完了,那么可以直接写一个类直接继承 View ,然后重写 onDraw() 吗?可以看到效果图中的雨滴的下落速度很快,那么意味着每一帧都要调用 onDraw...

    WorkOverTime:record work overtime 记加班安卓App

    ViewPager的使用:装填了3个圆环控件,每次切换都会重绘当前的圆环,注册页面切换监听器OnPageChangeListener,实现页面下标的改变 底部导航栏界面的设计:由3个button构成,权重相等,利用android:drawableTop属性...

    C#创建不规则窗体的4种方式详解

    现在,C#创建不规则窗体不是一件难事,下面总结一下: 一、自定义窗体 一般为规则的图形,如圆、椭圆等。 做法:重写Form1_Paint事件(Form1是窗体的名字...即重绘窗体的规则。 二、利用背景图片实现 1. 设置窗体的背景

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    1.3.2跨域交互即缓存处理方法 7 1.3.3页面自适应机制,即设备自适应与浏览器自适应机制 8 1.3.4 “认我测”质检服务平台的设计和实现 8 1.4 本文的结构安排 8 第二章 多窗口类浏览器设计 11 2.1 多窗口类浏览器需求...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例119 通过重写虚方法实现加法运算 146 实例120 通过类的多态性确定人类的说话 行为 147 5.4 迭代器和分部类的使用 149 实例121 使用迭代器显示公交车站点 149 实例122 使用迭代器实现倒序遍历 150 实例123 使用...

    vc++ 开发实例源码包

    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...

    PT80-NEAT开发指南v1.1

    NEAT 开 发 指南 文档 适用于 PT80 系列 移动数据终端 版本记录 版本号 版本描述 发布日期 V 1.0 初始版本。 2012-04-12 V1.1 修改前三章内容 2012-09-25 目录 第一章 关于本手册.....................................

    PROJECT 2007宝典 9/9

    利用Project做好这些事情之后,就要和团队成员一起协作,处理更复杂的项目,所以本书接着介绍团队协作方面的内容。本书最后的部分介绍如何自定义Project以及宏和VBA的相关信息,并通过一些案例来帮助您了解Project的...

    PROJECT 2007宝典 7/9

    利用Project做好这些事情之后,就要和团队成员一起协作,处理更复杂的项目,所以本书接着介绍团队协作方面的内容。本书最后的部分介绍如何自定义Project以及宏和VBA的相关信息,并通过一些案例来帮助您了解Project的...

    PROJECT 2007宝典 1/10

    利用Project做好这些事情之后,就要和团队成员一起协作,处理更复杂的项目,所以本书接着介绍团队协作方面的内容。本书最后的部分介绍如何自定义Project以及宏和VBA的相关信息,并通过一些案例来帮助您了解Project的...

    PROJECT 2007宝典 8/9

    利用Project做好这些事情之后,就要和团队成员一起协作,处理更复杂的项目,所以本书接着介绍团队协作方面的内容。本书最后的部分介绍如何自定义Project以及宏和VBA的相关信息,并通过一些案例来帮助您了解Project的...

    PROJECT 2007宝典 5/9

    利用Project做好这些事情之后,就要和团队成员一起协作,处理更复杂的项目,所以本书接着介绍团队协作方面的内容。本书最后的部分介绍如何自定义Project以及宏和VBA的相关信息,并通过一些案例来帮助您了解Project的...

    PROJECT 2007宝典 6/9

    利用Project做好这些事情之后,就要和团队成员一起协作,处理更复杂的项目,所以本书接着介绍团队协作方面的内容。本书最后的部分介绍如何自定义Project以及宏和VBA的相关信息,并通过一些案例来帮助您了解Project的...

    PROJECT 2007宝典 3/9

    利用Project做好这些事情之后,就要和团队成员一起协作,处理更复杂的项目,所以本书接着介绍团队协作方面的内容。本书最后的部分介绍如何自定义Project以及宏和VBA的相关信息,并通过一些案例来帮助您了解Project的...

Global site tag (gtag.js) - Google Analytics