Java 关于paintComponent与paint有什么区别?各自的特点? 大神们回答的详细一点。求教了paintComponentpaint 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好吧,看到题目我的第一反应是回 search the fucking google结果我自己搜了一下,用中文搜出的结果,前五个要么是误导要么说不到重点…………重点:1 - paint() 中调用 paintComponent(), paintBorder(), paintChildren()2 - 最重要的区别是“双缓冲”。Swing 组件的 paint() 中实现了双缓冲,所以不要随便去覆写,会破坏双缓冲的,————建议的方式是覆写 paintComponent(),很多人做的小程序会”闪烁“,就是因为他们覆写了 paint() 方法,破坏了Swing本身的双缓冲。Swing 不建议用户自己实现双缓冲。3 - 覆写 paint(),如果新方法没有去调用 paintChildren(),还会造成子控件不显示,鼠标移上去才显示,这个也是很多新手问的问题: “为什么我的按钮只有鼠标移上去才显示?”4 - 只有极少数的情况可能需要覆写 paint() 方法,通常是为了实现特殊的绘图效果,或者特殊的优化,比如 JViewport 覆写了 paint() 方法,使用“延迟重绘”的方式来合并当滚动条移动时一些特别频繁的重绘请求,等等。 之间我看过一个人写的关于这个的文章,写的应该挺全的,可惜找不到地址了。。这两个方法,paint()是基础,paint中会调用 paintComponent(), paintBorder(), paintChildren()这三个方法,这三个方法一个是绘制背景,一个绘制边框,一个绘制子控件。一般重写背景,是建议重写paintComponent()的。 HashSet集合问题 java中内存格局 求大虾帮忙,关于java调用python程序的问题 JS怎么调用JAVA类里面的方法。。在线 急等。。马上给分。。 请教JTextField问题! 哪位帮我看下线程问题,为什么运行不出结果的呢 请问怎么通过Socket发送一个int数值?急,谢谢!! 采用容器管理的实体bean,如何处理oracle数据库自动增加的编号? 我想用jtable生成类似体育彩票走势图这样的东西,该怎么做? 送分问题!!!!!!!!!!!!!!! 一段奇怪的Java,求解释~~~ Log4j2 应用打包成jar 后,无法在控制台输出
重点:1 - paint() 中调用 paintComponent(), paintBorder(), paintChildren()2 - 最重要的区别是“双缓冲”。Swing 组件的 paint() 中实现了双缓冲,所以不要随便去覆写,会破坏双缓冲的,————建议的方式是覆写 paintComponent(),很多人做的小程序会”闪烁“,就是因为他们覆写了 paint() 方法,破坏了Swing本身的双缓冲。Swing 不建议用户自己实现双缓冲。3 - 覆写 paint(),如果新方法没有去调用 paintChildren(),还会造成子控件不显示,鼠标移上去才显示,这个也是很多新手问的问题: “为什么我的按钮只有鼠标移上去才显示?”4 - 只有极少数的情况可能需要覆写 paint() 方法,通常是为了实现特殊的绘图效果,或者特殊的优化,比如 JViewport 覆写了 paint() 方法,使用“延迟重绘”的方式来合并当滚动条移动时一些特别频繁的重绘请求,等等。
这两个方法,
paint()是基础,paint中会调用 paintComponent(), paintBorder(), paintChildren()
这三个方法,
这三个方法一个是绘制背景,一个绘制边框,一个绘制子控件。
一般重写背景,是建议重写paintComponent()的。