`
方俊达NETJAVA
  • 浏览: 3019 次
文章分类
社区版块
存档分类
最新评论

简单的图形界面的重绘

 
阅读更多

           小伙伴们是否用java写过一些简单的图形界面?比如用JFrame做的一个简单画图板。那么你有没有发现一个很有趣的问题:当我们在画板上画出了一些图形后,我们把窗体最小化后再打开,我们会发现我们之前画的图形不见了。。。。

         这是为什么呢?其实是这样的 ,在JFrame中有一个默认的paint方法,默认情况下此函数什么也不做,当我们最小或最大化窗体的时候,窗体程序其实是重新生成的,之前画的图像数据是没有储存下来的,所以我们看不到我们之前所画的图形。然而实际生活中不是这样的,只要我们没有关闭程序窗体内容是不会消失的。

         要实现这个功能,我们必须重新让电脑绘制出我们之前所画的图形。这就是重绘。如何实现重绘呢?

        首先,我们将我们所画的图形看成是一类“数据”,创建一个数组队列,将我们画的图形放入数组队列中,储存他们的坐标等参数。

        然后,我们重写paint中方法,利用paint方法实现重绘。

        具体的实现代码,同学们可以自己上网去查阅。

分享到:
评论

相关推荐

    当窗体大小变化时如何使图形自动重画

    当窗体大小变化时如何使图形自动重画 源码

    Advbtn 李博轩 Visual C++图形用户界面开发指南.pdf

    我个人非常喜欢的一个类,学习它让我对按钮的重绘入了门。这个类很有意思,是通过区域来设置按钮的形状,初学者研究它,相信会有不小的收获

    dos下的win31图形界面基础组件源程序

    6. 支持图形内存设备(GDC),有效避免窗口重绘时闪烁,易于实现视频及动画处理; 7. ListView支持标题栏平移和缩放,Scrollbar支持鼠标滚轮驱动,支持Windows XP 标准9号宋体; 8. 内存需求小,窗口和控件的缺省...

    java实现汉诺塔的搬动

    编写一个图形程序模拟汉诺塔的搬动过程。要求:图形界面程序,画出三个柱子上的圆盘,正视图;每搬动一次,重绘图形,就是以动画方式展示。圆盘数量4个。

    Redraw-graphics-preservation.rar_VS2010 界面_site:www.pudn.com

    VS2010环境下的图形保存重绘编程,使用新版的vc++2010编写 界面更加美观

    C++图形编程基础.pdf

    介绍了mfc绘图的基础知识,包括设备对象,视图类的ondraw函数以及视图重画

    C语言大作业界面编程-2D动画演示.doc

    本程序通过更改时间循环方法是,判断其中的内容目前是否有要处理的消息,如果有则进行处理,否则按照设定的时间 间隔来重绘画面,提高了绘图效率减少了动画卡顿现象。并且通过排序贴图的方法,顺利加载多张位图。

    VC之美化界面篇本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础:

    WM_PAINT消息相信大家都很熟悉,一个窗口要重绘了,就会有一个WM_PAINT消息发送给窗口。 可以响应窗口的WM_PAINT,以更改它们的模样。WM_PAINT的映射函数原型如下: afx_msg void OnPaint(); 控件也是窗口,所以...

    界面二叉树

    在C++模板二叉树的基础上添加了显示界面。有二叉树的界面创建、插入、修改、遍历等功能。在节点重合的时候会进行一些判断并修正。...自定义按钮,自定义消息,图形的显示、重绘,获得窗口句柄的各种方法等。

    VectorControl.Net,专业矢量图形二次开发控件

    VectorControl.Net还提供了许多Windows界面开发组件,包括弹出菜单时容器,形状和组件库选择器等> 打印支持> 两套完整的示例程序以及源代码(C#和VB.Net),全面全面展现了如何利用VectorControl.Net控件实现简单的...

    java编写贪吃蛇

    java 贪吃蛇课程设计 包含贪吃蛇工程和课程设计文档 ...1. 贪食蛇的前移算法主要是蛇身结点前移,后面的覆盖前面的蛇身结点。依靠的调用编写的成员方法实现...4. 重复的调用paint()函数来实现对界面的重绘和食物的重置。

    Java课程设计-JavaSwing实现GUI画板课程设计源码

    该画板中可以绘制的图形包括圆形(含椭圆)、矩形(含正方形)、直线和点,每个图形都需要保存位置、大小几何属性及是否填充、填充颜色、是否绘制边框...件引用并调用 ArrayList 集合类,遍历所绘制的图形类,进行重绘

    Qt绘制图形随机验证码(paintEvent)

    1.开发环境使用的是Qt5.5.1_mingw版本,主要是使用paintEvent重绘事件进行实现的。创建了一个验证码值生成范围的列表、一个可用颜色的列表,实现了一些角度随机旋转、噪点绘制的方法,通过使用随机数随机选中范围中...

    C#画图程序,支持撤销重绘

    一个供演示用的C#画图程序源码,支持撤销、重绘功能,可了解一些C#的基本绘图知识,代码完整,其中的撤销重做思路非常有帮助。除此之外,程序还可以设置画笔颜色、填充颜色、背景颜色、选择图案开关以及线条粗细等,...

    xvsy:Clojure的图形绘图语法

    可以通过基于浏览器的图形界面,JSON API或从clojure中进行访问。 体验以下x vs y可视化效果: 另请阅读的分析。 Clojure绘图示例 钻石越重,钱包越轻 另外,人们喜欢四舍五入 ( qspec :diamonds :point :aes [( ...

    全能绘画助手 v2.0.1.0.20180821.zip

    界面简约,操作简单 键操作,一步到位 快速恢复丢失作品 作品保护,为创作保驾护航 云配置功能,一键还原配置信息 笔刷、色盘……一键还原 从此不怕升级和重装 驱动及软件一站式管理 无需搜索,不用光盘...

    VC6风格界面

    ...................\用MFC对话框做无闪烁图片重绘.doc ...................\用SDK实现分隔条.doc ...................\用VC++制作有滚动字幕效果的软件封面.doc ...................\用VC设计托盘图标程序.doc ...

    桌面图形用户界面框架

    目前存在依赖管理、Windows 链接、渲染、重绘和文档问题以及布局求解器问题。这些都是已知问题,请不要反复报告。当前的工作分支是unvendor_dependencies_2 ,该分支上的示例应该可以工作。与许多开源存储库一样,...

    Java-打飞机程序设计及论文

    最后,我们通过调用repaint()方法来重绘整个游戏窗口,以反映飞机位置的变化。 要完善这个程序,你可以添加更多的功能,比如让飞机发射子弹以打击敌人,添加敌人飞机和碰撞检测等。你还可以使用更复杂的图形库来...

    mfc 画图板 程序文档

    3.2. SetROP2实现重绘 6 3.3. 嵌套View实现画布 6 3.4. 鼠标靠近目标时突出显示 7 3.4.1. 判断一点是否属于矩形HStrokeRect 7 3.4.2. 判断一点是否属于线段 8 3.4.3. 判断一点是否属于椭圆 8 3.5. 文档序列化 9 3.6....

Global site tag (gtag.js) - Google Analytics