JAVA中关于绘制动态时钟重影的问题
答案:3 悬赏:0 手机版
解决时间 2021-04-05 09:52
- 提问者网友:王者佥
- 2021-04-05 03:48
JAVA中关于绘制动态时钟重影的问题
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-04-05 05:25
paintComponent
这个方法里会留下原有的
重写下边的方法,就不会了
public void paint(Graphics g) {
super.paint(g);
*****画图部分*************
}追问完全解决问题了!多谢啦!贪心多问一下,paint和paintComponent在内部调用机制上有什么区别?追答e
刚发现,你的代码写错了
super.paintComponents(g);
变成
super.paintComponent(g);
也可以解决,你多写了个S,还真不好看。刚才没发现。
下边是两个方法的源码
protected void paintComponent(Graphics g) {
if (ui != null) {
Graphics scratchGraphics = (g == null) ? null : g.create();
try {
ui.update(scratchGraphics, this);
}
finally {
scratchGraphics.dispose();
}
}
}
public void paintComponents(Graphics g) {
if (isShowing()) {
GraphicsCallback.PaintAllCallback.getInstance().
runComponents(component.toArray(EMPTY_ARRAY), g, GraphicsCallback.TWO_PASSES);
}
}
------------------------------------------------
ui.update
中用背景色重画了一次画布,相当于清除了
这个方法里会留下原有的
重写下边的方法,就不会了
public void paint(Graphics g) {
super.paint(g);
*****画图部分*************
}追问完全解决问题了!多谢啦!贪心多问一下,paint和paintComponent在内部调用机制上有什么区别?追答e
刚发现,你的代码写错了
super.paintComponents(g);
变成
super.paintComponent(g);
也可以解决,你多写了个S,还真不好看。刚才没发现。
下边是两个方法的源码
protected void paintComponent(Graphics g) {
if (ui != null) {
Graphics scratchGraphics = (g == null) ? null : g.create();
try {
ui.update(scratchGraphics, this);
}
finally {
scratchGraphics.dispose();
}
}
}
public void paintComponents(Graphics g) {
if (isShowing()) {
GraphicsCallback.PaintAllCallback.getInstance().
runComponents(component.toArray(EMPTY_ARRAY), g, GraphicsCallback.TWO_PASSES);
}
}
------------------------------------------------
ui.update
中用背景色重画了一次画布,相当于清除了
全部回答
- 1楼网友:痴妹与他
- 2021-04-05 06:49
可以了吗???追问这样都解决了的话我就不用上这里了……
- 2楼网友:廢物販賣機
- 2021-04-05 05:50
super.paintComponent()去掉试试追问无语……
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯