邱小明鹏 2021-12-15 22:51 采纳率: 100%
浏览 51
已结题

Java里paint怎么调用的,两个setColor为什么不会重写??


为什么这两个setColor不会冲突,反而可以一个颜色一个设背景
paint是怎么调用的


package com.qxp;

import javax.swing.*;
import javax.xml.crypto.Data;
import java.awt.*;
import java.util.Date;

public class Time extends JFrame implements Runnable {
    Thread clock;
    public  Time()
    {
        super("Clock-CN");
        this.setFont(new Font("Times New Roman", Font.BOLD, 60));
        this.go();
        this.setSize(280,100);
        this.setVisible(true);
    }
    @Override
    public void run() {
        while(true)
        {
            repaint();
            try {
                Thread.sleep(1000);
            }catch (InterruptedException e){}
        }
    }
    public  void go()
    {
        if (clock==null)
        {
            clock=new Thread(this);
            clock.start();
        }
    }
    public void stop()
    {
        clock=null;
    }
    public  void  paint(Graphics g)
    {
        String s="";
        Date now = new Date();
        int hour=now.getHours();
        int minute=now.getMinutes();
        int second=now.getSeconds();
        s=hour+":"+minute+":"+second;
        *** g.setColor(Color.WHITE);**
        Dimension dim = getSize();
        g.fillRect(0, 0, dim.width, dim.width);
    **   g.setColor(Color.BLACK);**
        g.drawString(s,20 , 80);
    }
    public static void main(String[] args) {
        Time that=new Time();
        that.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}


```

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2021-12-16 08:57
    关注

    因为第一次调用setColor()方法表示给背景设置颜色。
    第二次调用setColor()方法表示给画笔设置颜色。
    底层是根据你调用的次数,来确定是给背景设置颜色还是画笔的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 关注

    paint方法不能调用,只能调用repaint方法,执行repaint方法后系统会自动调用paint方法。

    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月24日
  • 已采纳回答 12月16日
  • 创建了问题 12月15日

悬赏问题

  • ¥15 字符串的比较老是报错
  • ¥15 很简单的c#代码补全
  • ¥15 复杂表达式求值程序里的函数优先级问题
  • ¥15 求密码学的客成社记ji着用
  • ¥35 POI导入树状结构excle
  • ¥15 初学者c语言题目解答
  • ¥15 div editable中的光标问题
  • ¥15 mysql报错1415Not allowed to return a result set from a trigger 不知如何修改
  • ¥60 Python输出Excel数据整理,算法较为复杂
  • ¥15 回答几个问题 关于数据库