Java图形界面的重绘

当我们用Graphics画出一些图形之后,一旦改变整个窗体的大小或者最小化之后,原本画出的图形就消失不见,这就需要对之前所画出的图形进行重绘,而重绘就需要重写paint方法。
我们首先来想,为什么计算机能够对图形进行重绘?是不是只有将图形数据保存下来,才能重绘。由此就引入数组的概念。
一、数组
数组能够顺序存储相同类型的很多个数据,当然,也希望能够对数组中的数据进行访问,其方法为:数组名【索引】。若一个数组中有N个值,则它的索引为0到N-1。

1.数组的声明和创建
在声明数组时,需要给出数组中所包含的数据类型和数组名,格式为:数据类型[] 数字名,如:int[] a;然后要对数组进行创建(或者说是开辟),格式为:数组名 = new 数据类型[N],N为数组长度,如:a = new int[50];

//完整的写法
int[] a;//声明数组
a = new int[50];创建数组
for(int i = 0;i<50;i++){
   //初始化
	a[i] = 0;
	}
//简洁的写法
int[] a = new int[50];//即声明并开辟了一个长度为50的整型数组,且初始化,每个元素的值为0

2.数组的使用
如果没有引入数组之前,要定义10个整型变量,只能进行如下操作

int i1,i2......i50;

这样操作,就显得代码繁杂,而引入数组之后,只需要进行如下操作

int[][] a = new int[49];

这就定义了一个长度50的int型的数组。
数组创建之后,大小就固定,不可在更改,要想得到数组的长度,可以:数组名.length。在对数组进行使用的时候,程序会自动进行边界检查,一旦所使用的索引大于数组的长度或小于0,就会报错:ArrayoutOfBoundsException.
二、重绘
引入数组之后,就可以对图形进行重绘。分为2步,第一:定义一个数组类,将保存图形数据到数组中,第二:通过数组中的数据重绘图形到窗体上。
接下来以重绘直线为例。直线的数据主要有:起始点,终止点,颜色。而前面说过,数组时用于存储相同数据类型的数据,那么就需要我们自己定义一个保存直线数据的图形类,并在类中构造方法,初始化它的属性。


                
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值