新手提问:JPanel中repaint()的方法问题? java 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看人家介绍 Swing 的 reinvalidate(), invalidate(), validate(), repaint(), paint() 的区别与调用时刻的介绍,如果你改了尺寸相关的东西却不是通过界面鼠标调的(代码调的)或位置,应该通知 Swing invalidate() 去重新计算变化的部分,如果 Swing 在 repaint() 中觉得没有什么变了,它就什么都不做。因为你现在的代码并没有修改这个 JButton 的任何 property,也就没有触发任何 property change 事件,因此 Swing 觉得你好像没改什么东西它也就什么也不做,换个角度,如果你按键之后是通过 myButton.setIcon() 来换个图标或许它就知道有变化了。总之,你可以尝试的是先尝试 validate, invalidate 或 reinvalidate 之后再来 repaint。另外文档还提到了,当我们直接 paint 时绘图的双倍缓冲的效果就忽略了。 你把repaint()放到keyRelease事件中去就可以啦,就这么容易! 急求正解!~! ResourceBundle读properties配置文件出异常,大家帮我看下 关于java classpath 求解 小问题,java中自带的包在安装文件中对应于哪些部分? 程序打包后密码域出问题了 关于exec设定路径 自定义函数调用问题 格式化输出字符串,中间混有汉字的情况 急急急!!!!!!!! 在JB7中默认的情况下会为程序生成一个包,程序在JB7中可以正常运行,可是在JDK中却无法运行 新手问题!关于swing.Timer! 妹子学java第一节课后,竟然出现这种情况,突然感觉不会爱了!!
如果你改了尺寸相关的东西却不是通过界面鼠标调的(代码调的)或位置,应该通知 Swing invalidate() 去重新计算变化的部分,如果 Swing 在 repaint() 中觉得没有什么变了,它就什么都不做。因为你现在的代码并没有修改这个 JButton 的任何 property,也就没有触发任何 property change 事件,因此 Swing 觉得你好像没改什么东西它也就什么也不做,换个角度,如果你按键之后是通过 myButton.setIcon() 来换个图标或许它就知道有变化了。总之,你可以尝试的是先尝试 validate, invalidate 或 reinvalidate 之后再来 repaint。另外文档还提到了,当我们直接 paint 时绘图的双倍缓冲的效果就忽略了。
就这么容易!