请教一个有关JAVA小程序的问题。
下面这个小程序的运行结果为10:10,根据这个运行结果可以知道当小程序窗口刚显示时,系统会调用两次paint()方法。这是什么原因呢?不是应该只调用一次paint()方法...
下面这个小程序的运行结果为10:10,根据这个运行结果可以知道当小程序窗口刚显示时,系统会调用两次paint()方法。这是什么原因呢?不是应该只调用一次paint()方法吗?
package xcx;
import java.applet.*;
import java.awt.*;
public class paint extends Applet
{
int a=0;
int b=0;
public void paint(Graphics g)
{
g.drawString(a+":"+b,100,100);
a=10;
b=10;
}
} 展开
package xcx;
import java.applet.*;
import java.awt.*;
public class paint extends Applet
{
int a=0;
int b=0;
public void paint(Graphics g)
{
g.drawString(a+":"+b,100,100);
a=10;
b=10;
}
} 展开
展开全部
我试验了下,你运行之后不动,弹出的窗口,他始终显示的是0:0
但是你点击窗口之后他会再次运行,所以结果变成了10:10
,测试方法,是在程序中添加些东西
System.out.println("开始");
a=10;
b=10;
System.out.println("结束");
应该是Applet中的问题
但是你点击窗口之后他会再次运行,所以结果变成了10:10
,测试方法,是在程序中添加些东西
System.out.println("开始");
a=10;
b=10;
System.out.println("结束");
应该是Applet中的问题
追问
我运行的时候,小程序查看器一显示的时候就是显示10:10,所以我判断paint()方法已经被调用了两次。但是我并不了解为什么会被调用两次。
追答
不可能一开始显示,10:10,一开始是0:0,因为你动了他,就又变化了,至于为什么我也不知道
展开全部
你定义的a,b是int型,应该是String,有木有这种可能
drawString(AttributedCharacterIterator iterator, int x, int y)
使用此图形上下文的当前颜色绘制由指定迭代器给定的文本。
drawString(String str, int x, int y)
使用此图形上下文的当前字体和颜色绘制由指定 string 给定的文本。
drawString(AttributedCharacterIterator iterator, int x, int y)
使用此图形上下文的当前颜色绘制由指定迭代器给定的文本。
drawString(String str, int x, int y)
使用此图形上下文的当前字体和颜色绘制由指定 string 给定的文本。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那个a,b 什么意思,你的程序里好像没有用到变量a,b呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询