关于javase的 paint方法问题--我在线,迫切解决这个问题,求java高手前来看看(我在线,高分酬谢)

importjava.awt.Graphics;importjava.util.Date;importjavax.swing.JFrame;//首先做一个界面,这个界面4... import java.awt.Graphics;
import java.util.Date;

import javax.swing.JFrame;

//首先做一个界面,这个界面400x400
public class A extends JFrame {

public A() {
this.setVisible(true);

this.setSize(400, 400);
this.setLocation(100, 100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭方式

}

public static void main(String[] args) {
new A();
}

public void paint(Graphics g) {
super.paint(g);
System.out.println("a");
}

}
我按照视频做的 视频打印一个a 而我上面代码一运行就打印3个a(注意 我没有修改JFrame组件的大小和点击JFrame组件上的最大化和最小化,还有个问题:
用eclipse里的源代码-》覆盖/实现方法 的Container里找不到有paint的方法给我重写啊

,我曾经以为JDK出问题了,因为我的JDK是1.7免安装版的,后来我换了JDK1.7安装版还是一样,换了JDK1.6也是一样,最后换了eclipse也一样---------------我把这个代码曾经发给几个网友在他们电脑里运行只打印一个a 我在这里跪求各位java高手帮我解决一下这个问题
总之我的鼠标连碰都没碰过JFrame 程序一运行就打印3个a了 真是邪门
展开
 我来答
lab009
2014-11-06
知道答主
回答量:20
采纳率:0%
帮助的人:16.1万
展开全部
this.setVisible(true);放到最后一行可能就好了

窗口焦点失去,再重新获得焦点,就会重画。
你的输出窗口可能设置为有输出就获得焦点了.

也可能和操作系统有关。
追问
我查了很多资料   也提过你这种方法   也试过了   但是还是一样    能帮我继续研究一下到底是什么问题吗     跪求了
追答
http://www.blogjava.net/bacoo/archive/2007/12/28/171313.html
看下这篇文章吧。

关键是你的目标是什么,要做什么事情,为什么要重写paint()方法
Swing并不保证在不同的平台上运行的结果都一致,一个三个都可能是正常的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式