paint方法在Component中定义,在JPI文档中有以下解释:应该绘制组件的内容时调用此方法;例如首次显示组件或者组件已损坏并需要修复时。Graphics 参数中的剪贴区矩形设置为需要绘制的区域。重写此方法的 Component 子类不需要调用 super.paint(g)。
编写画图板时接触到的组件JFrame(重量级组件)、JPanel、JButton、JLabel等类都是Component的子类,而在JFrame、JPanel中如果重写paint方法就必须要在paint方法中调用super.paint(g),否则虽然可以正常画图,但是组件无法显示,画图区域呈现透明的状态。
课堂上老师演示的重绘的使用是简单的在一个窗体上直接作直线的重绘,重绘的方法重写仅需写在JFrame的子类中,系统便会自动调用。
对这一知识的学习让我对计算机的运行有了新的认知,我们点开一个网页或者说打开一个画图软件,当我们使其后台运行时,那些网页上画图板上展示的图片文字就消失了,在下一次转为前台运行的时候才会通过重绘或通过其他的方式显现出来。由于计算机程序运行的速度极快,我们几乎感觉不到这一过程,所以感觉仿佛如同现实生活中一张纸叠一张纸,被遮住的那张纸上的内容当然不会消失。
在重绘的初学阶段我们使用数组存储图像,譬如直线,用鼠标绘出一条直线时画布面板或窗体上的监听器会将直线的首尾坐标存储在数组中,在实现重绘时再调出数组中的元素使用drawline方法重绘直线。由此推论,可以创建一个二维数组来实现不同图形如矩形、圆等的重绘,但是这样仍显局限。只能做到一些由直线组成的图形的重绘。
分享到:
相关推荐
总结,通过VS2017和C#,我们可以对.Net 2.0的Combox控件进行自定义重绘,实现独特的视觉风格。这不仅增强了用户界面的吸引力,也为我们提供了更大的设计自由度。记住,重绘是一个细致的过程,需要对图形绘制有深入的...
总结来说,C#中实现Form重绘的关键在于理解和利用`Paint`事件以及`Invalidate()`方法。通过自定义的`OnPaint`事件处理程序,我们可以自由地控制窗体的外观。同时,需要注意性能优化,避免不必要的重绘和屏幕闪烁。...
总结来说,MFC控件重绘涉及对`OnDraw`等函数的重写,以及消息映射机制的利用,以达到定制控件外观的目的。`SkinWin.cpp`和`SkinWin.h`中的代码很可能是实现这一功能的具体实现。通过深入理解这些概念和实践,开发者...
总结来说,通过MFC的CTabCtrl控件的派生和重绘技术,我们可以轻松实现自定义的背景颜色、字体颜色以及突出显示当前选中的tab。这个过程涉及到了Windows消息处理、图形绘制和控件的动态更新等多方面的知识,有助于...
总结来说,这个项目展示了如何通过继承`Control`并自定义重绘功能,来增强`TreeListView`控件的外观和行为。开发者可能还实现了自定义的样式、颜色方案、动画效果或其他高级特性,使得`TreeListView`更加符合应用...
总结来说,按钮和列表框的重绘是GUI编程中的核心技能,它们涉及到用户界面的定制化、响应性以及视觉反馈的优化。通过熟练掌握这些技巧,开发者可以创建出更加美观且易用的应用程序。在实际项目中,我们应当根据具体...
在处理动态数据或者需要更新图表的情况下,我们可能需要对Highcharts进行刷新或重绘。本文将深入讲解Highcharts的封装、刷新和重绘方法,并提供相关代码示例。 ### 1. Highcharts的封装 封装Highcharts是为了更好...
在某些特殊情况下,我们可能需要对文本框进行自定义重绘,以实现一些独特的视觉效果或者功能扩展。本文将深入探讨C#中如何重绘文本框,并通过分析`InputBox.cs`文件来展示具体的实现方式。 ### 1. 文本框的基本使用...
本资料是关于CTreeCtrl控件重绘的全面总结,旨在帮助开发者深入理解和熟练掌握其重绘机制。 一、CTreeCtrl控件基础 CTreeCtrl是MFC对Windows API中的HTREEITEM类型的封装,它提供了一个可滚动的窗口,可以显示一...
总结起来,`DataGridView`的重绘是通过覆写`OnPaint`方法来实现的,可以利用`Graphics`对象进行各种自定义绘制操作。在本例中,我们展示了如何创建一个渐变色列头的`DataGridView`,这只是一个基本示例,实际上可以...
### C#重绘标题栏和边框的知识点 在C#中,自定义窗口的外观是一种常见的需求,尤其是在创建具有独特界面的应用程序时。本文档将详细介绍如何通过C#编程语言来实现对窗体的标题栏和边框进行重绘。 #### 1. 基本概念...
总结来说,`dataGridView`、`button`和`tabControl`的重绘与自定义是提升Windows应用程序用户体验的关键技术。通过继承和重写控件的绘制方法,我们可以实现独特的视觉效果,同时增强控件的功能,以满足项目的特殊...
本文将深入探讨如何使用MFC来重绘这些元素,并特别关注在尝试改变状态栏背景色时遇到的问题。 首先,让我们了解MFC中的窗口部件。标题栏是窗口顶部显示应用程序名称和最小化、最大化、关闭按钮的部分。菜单栏通常...
总结来说,控件重绘是提升C# WinForm应用界面质量的有效手段,尤其是对于ListView这类经常被用于展示大量数据的控件。通过掌握控件重绘技术,开发者可以创造出独具特色的用户界面,提高应用程序的用户体验。而...
总结起来,MFC中的滑动条重绘涉及到自定义消息映射函数、OnPaint()处理、以及GDI对象的管理。通过这种方式,我们可以自由地调整滑动条的外观,同时保证了程序的稳定性和资源效率。在实际项目中,你可以根据需要...
总结来说,ListCtrl列表框的重绘涉及到自定义项绘制、背景绘制、Owner Draw特性和图像列表的使用。掌握这些技术,可以帮助你打造出独特且功能丰富的用户界面。在实践中,不断试验和优化,你就能创造出符合项目需求的...
总结,CEdit控件的重绘和背景图片插入是通过自定义控件类,覆盖OnPaint()函数,并使用CDC类进行绘图实现的。这个过程涉及到资源的加载、设备上下文的操作以及消息处理,是VC++中增强控件视觉效果的一个常见技巧。
总结来说,重绘ComboBox是一种提升用户体验的高级技巧,涉及控件的自定义绘制、皮肤设计与加载、以及事件处理等多个方面。通过理解这些概念和技术,开发者能够创建出更美观且具有个性化的用户界面。
总结起来,"画布的重绘和保存"涉及的关键知识点包括: - Android Canvas的基本使用和方法。 - 自定义View的onDraw方法及invalidate()的调用。 - Bitmap对象的创建与销毁。 - 使用Bitmap的compress方法保存图像到...
在MFC(Microsoft ...总结,MFC SDI应用程序中图形的重绘与保存涉及了GDI/GDI+绘图API、串行化机制、文件操作以及可能的图像处理库。理解并熟练掌握这些知识点,能帮助开发者创建高效且功能丰富的图形编辑应用。