我在Jbuilder9中写了如下代码(以下只给出其中的代码片段):
public class canvas extends Canvas {
public void paint(Graphics g)
{
g.setColor(Color.BLUE);
g.fillRoundRect(100,100,50,50,20,20);
g.drawRoundRect(100,100,50,50,20,20);
}
public void update(Graphics g)
{
System.out.println("Paint");
}
} public class Frame1 extends JFrame {
......
public Frame1() {
......
canvas can=new canvas();
can.setBackground(Color.white);
can.repaint();
......
}
不是说repaint要先调用update,再调用paint的么?这里repain怎么不调用update(因为没有执行System.out.println("Paint");)?
我qq:77658745 需要全部代码的可以q我
public class canvas extends Canvas {
public void paint(Graphics g)
{
g.setColor(Color.BLUE);
g.fillRoundRect(100,100,50,50,20,20);
g.drawRoundRect(100,100,50,50,20,20);
}
public void update(Graphics g)
{
System.out.println("Paint");
}
} public class Frame1 extends JFrame {
......
public Frame1() {
......
canvas can=new canvas();
can.setBackground(Color.white);
can.repaint();
......
}
不是说repaint要先调用update,再调用paint的么?这里repain怎么不调用update(因为没有执行System.out.println("Paint");)?
我qq:77658745 需要全部代码的可以q我
解决方案 »
- 求助,swing中JTextArea的内容怎么一行一行读出来?
- 二叉树遍历问题
- 如何算出某个月的星期几是哪几天?
- 关于定时器的使用疑问?在线等
- JTable如何加入JCheckBox
- java求助wf.common.SystemProperties;的问题
- 我想编个最简单的java手机的应用程序
- Jtable如何设置焦点?
- 关于数据库的简单问题,请各位回答!(在线等!)
- 想请教JWindow的问题
- 急,求助!关于JNI调用dll导致JVM崩溃的问题
- 请问,我自定义了ClassLoader,加载jar文件,可是两个不同的jar文件同时调用了一个 dll 这是程序提示这个dll被调用两次违法,怎么办?
楼主【sjp1985】截止到2008-07-29 13:35:48的历史汇总数据(不包括此帖):
发帖的总数量:1 发帖的总分数:0 每贴平均分数:0
回帖的总数量:0 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:0
结贴的百分比:0.00 % 结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
public void repaint()重绘此组件。
如果此组件是轻量组件,则此方法会尽快调用此组件的 paint 方法。否则此方法会尽快调用此组件的 update 方法。public void update(Graphics g)更新组件。
如果此组件不是轻量组件,则为了响应对 repaint 的调用,AWT 调用 update 方法。可以假定未清除背景。
Component 的 update 方法调用此组件的 paint 方法来重绘此组件。为响应对 repaint 的调用而需要其他工作的子类通常重写此方法。重写此方法的 Component 子类应该调用 super.update(g),或者直接从其 update 方法中调用 paint(g)。