关于repaint()

问题描述

repaint()方法是不是先把之前paint()方法画的东西去掉,然后再调用paint方法,重新画?

解决方案

解决方案二:
说得准确。重画,但并没有抹掉这个过程。所以我们会把自己负责的区域重新给一次,Swing本身会在你重画之前计算出你的代码负责重画哪一部分区域,但你画的过程中坐标溢出了范围时会自动忽略掉不影响不是你负责的区域。

时间: 2024-11-10 00:50:26

关于repaint()的相关文章

jframe和frame的repaint方法的不同

问题描述 在网上说jframe的repaint方法不会刷新之前的背景(即覆盖掉前一次作画的东西),但是我自己测试之后不知道为什么是可以覆盖掉的,而frame也是可以,搞得我万分疑惑..我现在自己的理解是调用repaint方法之后调用update方法,再调用paint方法,然后paint方法是会重新绘制组件然后覆盖掉原来的,求大神指教ps:我的测试是一个jframe里面有两个panel,会不会是因为重新绘制jframe的时候重新绘制两个jpanel,然后两个jpanel会覆盖掉原来的东西?? 解决

repaint和reflow的相关知识

文章简介:页面重构应注意的repaint和reflow. 最近了解了下repaint和reflow的相关知识,觉得在页面重构过程中就应该考虑前端开发(js)人员对dom进行操作,能够减轻客户浏览器的鸭梨.在这里整理了一下相关资料,推荐看帖子底部的文章,如果觉得排版不够好请移步我的博客围观.这是一个讨论帖,抛砖引玉,大家说说自己工作中的经验~ 1. 什么是 repaint 和 reflow? 一个页面由两部分组成:DOM:描述该页面的结构render:描述 DOM 节点 (nodes) 在页面上如

repaint()方法为什么不能调用?

调用display()时打印出GamePanel's display! 但不显示GamePanel's PrintComponent,也就是System.out.println("GamePanel's PrintComponent")这条语句没有执行,repaint()方法为什么不能调用方法 printComponent(Graphics g) RepaintDemo import java.awt.Graphics; import javax.swing.JPanel; publi

java方法调用的问题 这个repaint()调的是哪个 为什么啊??

问题描述 java方法调用的问题 这个repaint()调的是哪个 为什么啊?? public class test { public static void main(String[] args) { new test().start(); } public void start(){ new A().m(); } class A{ public void m(){ repaint(); } public void repaint(){ System.out.println("nihao&qu

Qt重绘之update,repaint详解

Qt重绘之update,repaint详解       Qt里面的重绘和Windows编程里面的重绘差不多.但是Qt的重绘更有特色,更加智能.   在讲之前,先说说paintEvent() paintEvent()是一个虚函数槽(slot),子类可以对父类的paintEvent进行重写.当调用update(),repaint()的时候,paintEvent()会被调用,另外,当界面有任何改变的时候,paintEvent()也会被调用,这种界面的改变包括界面从隐藏到显示,界面尺寸改变,当然还包括界

java树的节点事件里调用repaint方法 不能实现重绘

问题描述 java树的节点事件里调用repaint方法 不能实现重绘 java树的节点事件里调用repaint方法 不能实现重绘 怎么解决......................... 解决方案 http://zhidao.baidu.com/link?url=_s3y58ND8LIk-TtWOqBE2sXSaX5vKISRuxgRbdlCvZ2TPcjjujnp85-84Xto3Pa3rh7GEZ8yJ5ctIOYQxF7wTq

代码-请问大神们Java里的JPanel.repaint和JFrame.repaint的区别是什么?

问题描述 请问大神们Java里的JPanel.repaint和JFrame.repaint的区别是什么? Java小白一个,在看headfirst JAVA,书上有一个小的动画代码,是每个几秒画一个圆 然后圆的位置不断变化,书上故意用了JPanel.repaint这个方法,结果产生了运动痕迹, 然后书上提出的解决方法是repaint的时候先画一个大的白色的正方形把原来的圆盖住, 然后才画下一个圆.我实践的时候突发奇想用了JFrame.repaint来代替这个 JPanel.repaint,结果发

关于Java Swing中的repaint()方法及setVisible()的问题

问题描述 关于Java Swing中的repaint()方法及setVisible()的问题 我写了一个JFrame, 加了一个JComponent,进行一些处理后使用removeAll()移除了JComponent中的所有组件,然后调用add(JPanel)添加了一个新的组件,最后调用repaint()方法显示这个JPanel 这时发现JPanel无法显示,但调整窗口大小后就能显示 因为调整窗口大小不是会自动调用repaint()方法吗?但是我自己调用了啊为什么不会显示嘞. 接下来, 我在re

repaint能多次调用吗,如果能,那为什么我不能实现好多球的效果。大神请点击标题

问题描述 主类GameFrame[/u]我做的这是一个台球反弹的动画,我目的很简单,我就是想使窗口内实现好多球有起点出发然后碰壁反弹,现在我只实现了4个球的效果,每增加一个球就要多些好多行代码,请大神帮我解决这个问题,问题点请往下看packagecn.bdqn.lastGame;importjava.awt.Color;importjava.awt.Font;importjava.awt.Frame;importjava.awt.Graphics;importjava.awt.Image;imp

java中panel实现线程接口以后,要调用repaint函数时,不进run函数

问题描述 java中panel实现线程接口以后,要调用repaint函数时,不进run函数 具体情况是 mypanel类实现了线程接口,在run函数中定义了sleep(100)后调用repaint函数,做一个小坦克游戏,在repaint之前要判断是否击中坦克,击中后要显示三张图片来体现爆炸效果,可是经过调试发现,每次第一次击中的时候,都是直接好多次repaint,没有休眠,后来发现根本就没有进mypanel的run()方法,好像有另一个其他线程再调用paint.这是怎么回事?感谢大家了 pack