java 为什么paint()方法自动调用了两次
importjavax.swing.*;importjava.awt.*;publicclassTestVideo1{publicstaticvoidmain(Strin...
import javax.swing.*;
import java.awt.*;
public class TestVideo1{
public static void main(String args[]){
Video v=new Video();
v.setSize(500,150);
v.setVisible(true);
v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class Video extends JFrame{
int j=0;
public void paint(Graphics g){
System.out.println(++j);
}
}
竟然输出:
1
2
这事为什么 展开
import java.awt.*;
public class TestVideo1{
public static void main(String args[]){
Video v=new Video();
v.setSize(500,150);
v.setVisible(true);
v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class Video extends JFrame{
int j=0;
public void paint(Graphics g){
System.out.println(++j);
}
}
竟然输出:
1
2
这事为什么 展开
4个回答
展开全部
很简单,这说明你点用了两次Vidoe的paint方法。之所以会这样是因为:
v.setSize(500,150);
v.setVisible(true);
这两个方法导致的,具体你可以看一看JFrame的代码
v.setSize(500,150);
v.setVisible(true);
这两个方法导致的,具体你可以看一看JFrame的代码
展开全部
// v.setSize(500,150); 把这句注掉,试验,最小化,还原时,会重绘一次。 在此基础上,拉长窗口,重绘两次。即:屏幕显示,与大小改变,都会 调用 paint 方法。
楼上正解。
楼上正解。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当一个应用程序窗口第一次显示在屏幕上时,或者当它改变大小或暴露在屏幕上时,窗口就会重绘自己
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好像paint的运行机制就是这样,当时我设计的时候也是这样的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
更多回答(2)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询