`
xiaozhouzhou
  • 浏览: 13926 次
  • 性别: 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#重绘Windows窗体标题栏和边框是指使用C#语言来自定义Windows窗体的标题栏和边框的样式,通过使用WndProc方法来截获Windows消息,并实现自定义的绘制过程,从而实现更加个性化的界面。

    C#复选框重绘 Checkbox

    本教程将深入探讨如何在C#中实现`Checkbox`的重绘,以实现这些高级功能。 首先,我们需要了解Windows Forms中的控件绘制机制。每个Windows Forms控件都有一个`OnPaint`事件,当控件需要更新其外观时,系统会触发这...

    窗体控件重绘

    在JControls这个压缩包中,每个控件的重绘方法都封装在独立的类或组件中,便于直接引用和学习。开发者可以根据自己的需求,结合这些示例代码,快速实现自定义控件的视觉效果。此外,这些代码还可以帮助理解控件绘制...

    MFC CListCtrl重绘,功能全

    在某些情况下,为了实现更复杂或个性化的界面效果,我们可能需要对CListCtrl进行重绘。本篇将深入探讨CListCtrl的重绘机制和如何实现全面的功能。 首先,理解CListCtrl的绘制过程至关重要。CListCtrl默认使用...

    Duilib 控件重绘教程附带例子

    本教程将重点讲解如何在Duilib中进行控件的重绘,以实现自定义的视觉效果。 控件重绘是Duilib中实现界面个性化的重要手段。通过重绘,我们可以改变控件的默认外观,比如修改边框样式、调整颜色、添加图案或者动画...

    MFC控件CTabCtrl的重绘,支持背景颜色、tab头字体颜色、背景色的修改

    重绘过程中,为了保持性能,可以利用Windows的消息机制,只在必要时(如tab切换、窗口大小改变等)才触发重绘。可以通过`SetRedraw`函数暂时关闭或开启控件的重绘功能,这样可以避免不必要的绘图操作。 除了`...

    MFC ComboxBox重绘类

    在这个场景中,我们关注的是`CMyComboBox`,这是一个自定义的组合框(ComboBox)类,它是MFC中的标准`CComboBox`类的扩展,专门为了实现自定义重绘功能而设计。 在MFC中,`CComboBox`类是用来处理Windows API中的...

    delphi 用系统自带popupmenu实现重绘

    这时,我们就需要通过自定义重绘来实现这些特殊效果。本文将深入探讨如何利用Delphi的内置PopupMenu组件来实现自绘,以满足不同的UI设计需求。 首先,了解PopupMenus的基本使用。PopupMenus在Delphi中由TPopupMenu...

    重绘groupbox的例子

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

    MFC 重绘CListCtrl、CTreeCtrl的滚动条.rar

    8. **性能优化**:避免频繁的重绘操作,可以利用RedrawWindow函数的更新区域参数限制重绘的范围,或者使用UpdateLayeredWindow实现无闪烁的平滑滚动效果。 通过这个资源,开发者可以学习如何将这些技巧应用到自己的...

    MFC控件重绘MFC控件重绘

    总结来说,MFC控件重绘涉及对`OnDraw`等函数的重写,以及消息映射机制的利用,以达到定制控件外观的目的。`SkinWin.cpp`和`SkinWin.h`中的代码很可能是实现这一功能的具体实现。通过深入理解这些概念和实践,开发者...

    MFC 之 CButton 控件重绘(GDI+篇)

    本文将深入探讨如何利用MFC中的CButton控件,并结合GDI+技术来实现不规则形状和透明效果的按钮重绘。 首先,让我们了解CButton控件。它是MFC库中一个基本的用户界面元素,用于创建具有标准按钮功能的窗口。默认情况...

    win32环境下的按钮重绘

    "win32环境下的按钮重绘"是指利用Win32 API(应用程序接口)来改变默认按钮的显示样式,实现独特的视觉效果。本文将深入探讨如何在Win32环境下实现按钮的自定义重绘。 首先,理解Win32 API的基本概念至关重要。它是...

    DataGridView重绘

    总结起来,`DataGridView`的重绘是通过覆写`OnPaint`方法来实现的,可以利用`Graphics`对象进行各种自定义绘制操作。在本例中,我们展示了如何创建一个渐变色列头的`DataGridView`,这只是一个基本示例,实际上可以...

    控件重绘 自定义

    在编程领域,控件重绘和自定义是增强用户界面(UI)个性化和功能扩展的重要技术。本主题将深入探讨如何对.NET Framework中的`dataGridView`、`button`和`tabControl`这三种常见控件进行重绘和自定义,以实现独特的...

    MFC各种重绘漂亮按钮

    在“BeauButton”这个示例中,可能包含了以上所述的重绘方法,通过对不同状态(如焦点、鼠标悬停、按下等)的按钮进行定制化绘制,实现按钮的动态效果。例如,可能使用GDI+或者位图资源来创建复杂的边框、阴影、高光...

    MFC单文档界面的全部重绘

    本主题将深入探讨如何进行MFC单文档界面的全部重绘,包括标题栏、工具栏和菜单的自定义重绘。 1. **重绘基础** MFC提供了OnEraseBkgnd()和OnPaint()这两个消息处理函数,用于处理窗口背景的擦除和绘制。重绘SDI...

    C#重绘标题栏和边框

    ### C#重绘标题栏和边框的知识点 在C#中,自定义窗口的外观是一种常见的需求,尤其是在创建具有独特界面的应用程序时。本文档将详细介绍如何通过C#编程语言来实现对窗体的标题栏和边框进行重绘。 #### 1. 基本概念...

    ListView 重绘

    在本文中,我们将深入探讨"ListView重绘"这一主题,特别是在选中项目背景的自定义化方面,以实现类似WIN8风格的ListView效果。 首先,理解ListView的重绘机制至关重要。ListView控件的重绘涉及到对控件外观的自定义...

    重绘CTabCtrl

    总之,子类化并重绘`CTabCtrl`是一种实现自定义标签页界面的有效方法。这涉及到Windows消息处理、GDI绘图技术以及对MFC类库的理解。通过这种方式,开发者可以创造出符合项目需求且具有独特风格的标签页控件。

Global site tag (gtag.js) - Google Analytics