关于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了 真是邪门 展开
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了 真是邪门 展开
1个回答
展开全部
this.setVisible(true);放到最后一行可能就好了
窗口焦点失去,再重新获得焦点,就会重画。
你的输出窗口可能设置为有输出就获得焦点了.
也可能和操作系统有关。
窗口焦点失去,再重新获得焦点,就会重画。
你的输出窗口可能设置为有输出就获得焦点了.
也可能和操作系统有关。
追问
我查了很多资料 也提过你这种方法 也试过了 但是还是一样 能帮我继续研究一下到底是什么问题吗 跪求了
追答
http://www.blogjava.net/bacoo/archive/2007/12/28/171313.html
看下这篇文章吧。
关键是你的目标是什么,要做什么事情,为什么要重写paint()方法
Swing并不保证在不同的平台上运行的结果都一致,一个三个都可能是正常的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询