我第一次接触重绘是编写五子棋小游戏的时候,因为游戏里的棋盘是用线绘制的,而这些东西并不在系统自带的重绘里,所以在移动窗体时,棋盘并不会重绘出来。所以我们要重写系统的重绘方法。
在重写系统重绘方法时,我们要注意一定要调用父类的重绘方法,即加上super.paint(g),因为如果不调用父类的重绘方式,重写后会把父类的重绘覆盖掉,而父类的重绘方法是绘制画布,这样就导致我们看不到窗体。
最后我们在重写系统重绘方法时加上棋盘的绘制和棋子,这样就解决了重绘问题。具体代码如下:
//重绘
JPanel drawpanel = new JPanel() {
public void paint(Graphics g) {
super.paint(g);
g.drawImage(back.getImage(), 0, 0, null);
//棋盘绘制
for (int i = 0; i < Config.row + 1; i++) {
int x1 = Config.beginX;
int y1 = Config.beginY + i * Config.width;
int x2 = Config.beginX + Config.line * Config.length;
int y2 = y1;
g.drawLine(x1, y1, x2, y2);
}
for (int j = 0; j < Config.line + 1; j++) {
int x3 = Config.beginX + j * Config.length;
int y3 = Config.beginY;
int x4 = x3;
int y4 = Config.beginY + Config.row * Config.width;
g.drawLine(x3, y3, x4, y4);
}
}
}
分享到:
相关推荐
实现简单的画图功能 三角形 矩形 圆等的重绘 保存 删除 放大功能
MFC简单画图程序,重绘,点,线,矩形,椭圆,拖拽预览,填充色,画笔颜色
运行.dsw文件 菜单上有选项 MFC画图程序 实现圆形直线矩形画图 存储文件读入重绘 黑龙江大学软件体系结构实验
mfc做的画图程序源代码,实现了mfc中鼠标实时线,点,圆,矩形,折线等。 初学者看蛮有用的
MFC 图形重绘-绘制曲线M FC 图形重绘-绘制曲线
VC实现绘图,绘点、线、面,串行化实现重绘,实现颜色,线条宽度等属性的更改。
绘制到内存位图上后把应该重绘的这一小块设成裁剪区,然后立即OnPait重绘这个裁剪区。 运行步骤: 直接运行demo里面的程序,在窗口上任意拖拉鼠标画线,然后点击菜单栏的几个示范菜单项,然后移动窗口、 改变...
画椭圆,可以重绘(填充椭圆,可以重绘 ;空白椭圆,可以重绘) 5.画刷子,可以重绘 6.画喷枪,可以重绘 7.橡皮擦,可以重绘 8.画多边形,可以重绘 9.取色笔(左键取前景色,右键取后景色) (二)功能 1....
NULL 博文链接:https://liuyuan418921673.iteye.com/blog/2283692
一个简易的仿XP系统的画图板(JAVA),实现了大体的框架和一些简单的画图功能,以及整个画图板的重绘。界面很不错!
基于c#.net的小型画图小软件,实现基本的画图功能,实现重绘
该系统是通过解析用户输入的命令,人机交互式的画图,可以画多种图形,撤销重画,选择颜色,字体都可以
你可以使用它来画图 可以使用它来画直线 可以使用它画圆 当然你可以使用它来绘制文字 本质上,它是用绘图的方式实现UIImage,UiLabel,UITextView。。。。上的等等 使用这个方法的优势在于,它绕过了苹果封装好的...
Java简单swing程序,模拟实现windows画图板的功能,实现规则、不规则图形的绘制,颜色填充,撤销重绘等功能
带画箭头功能的画图 MFC VC6.0 重绘 撤销
win32实现画图小程序,主要功能:画直线、矩形、椭圆,曲线,画板清除,重绘,颜色选择,工具选择,调色板和工具栏的隐藏和显示,调色板的停靠,文件保存和打开
一个供演示用的C#画图程序源码,支持撤销、重绘功能,可了解一些C#的基本绘图知识,代码完整,其中的撤销重做思路非常有帮助。除此之外,程序还可以设置画笔颜色、填充颜色、背景颜色、选择图案开关以及线条粗细等,...
用c#实现画图功能,可以画出各种图形,如矩形,圆形,菱形等,还可以随意拖动,放大缩小
private float refX; //手指移动时上一刻在X轴上的位置 private float refY; //Y private float initialX; //触摸屏幕时,按下去时的X轴上位置 ... //这个方法请求View进行重绘,所以会调用onDraw方法