⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jdclock.java

📁 java编程实例
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
           BorderDark.getGreen() * 2, BorderDark.getBlue() * 2);
        BGColor = getParameter("BGColor", Color.black);
        FontColor = getParameter("FontColor", new Color(65280));
        DayColor = getParameter("DayColor", new Color(0x808080));
        TodayColor = getParameter("TodayColor", new Color(65280));
        SundayColor = getParameter("SundayColor", 
        		new Color(0xff0000));
        tracker = new MediaTracker(this);
        int i = 0;
        do
        {

            image[i] = createImage(15, 20);
            Graphics g = image[i].getGraphics();
            g.setColor(BGColor);
            g.fillRect(0, 0, 15, 20);
            drawNumber(g, i);
            tracker.addImage(image[i], 0);

        }
        while(++i <= 11);
        if(ShowWeek)
        {

            int j = 0;
            do
            {

                wimage[j] = createImage(120, 10);
                Graphics g1 = wimage[j].getGraphics();
                g1.setColor(BGColor);
                g1.fillRect(0, 0, 120, 10);
                drawWeek(g1, j);
                tracker.addImage(wimage[j], 0);

            }
            while(++j < 7);

        }
        TimeDiff = 0L;
        s = getParameter("TimeZone");
        if(s != null && !s.equalsIgnoreCase("LOCAL"))
        {

            Date date = new Date();
            if(s.charAt(0) == '+')
                s = s.substring(1);
            try
            {

                TimeDiff = (long)Integer.parseInt(s) * 0x36ee80L + 
                	(long)date.getTimezoneOffset() * 60000L;
            
            }
            catch(Exception _ex) { }
        
        }
        try
        {

            buf_image = createImage(base_width, base_height);
            gc = buf_image.getGraphics();
            drawFrame(gc);
            return;

        }
        catch(Exception _ex)
        {

            gc = null;
   
        }

    }
    //响应鼠标动作
    public boolean handleEvent(Event event)
    {

        switch(event.id)
        {

        case Event.MOUSE_UP :
        default:
            break;

        case Event.MOUSE_DOWN :
            if(suspended) timer.resume();
            else timer.suspend();
            suspended = !suspended;
            break;

        case Event.MOUSE_MOVE :
            if(tracker.statusID(0, true) != 8) 
            	showStatus("initialing...please wait!");
            break;

        }
        return true;
 
    }
    //画数字
    void drawNumber(Graphics g, int i)
    {

        int j = 0;
        int k = 0;
        g.setColor(FontColor);
        while((k = NumberSegment[i][j++]) != -1) 
        	g.fillPolygon(SegmentPolygon[k]);

    }
    //设置星期几
    void drawWeek(Graphics g, int i)
    {

        int j = 0;
        do
        {

            g.setColor(j != i ? DayColor : j != 0 ? 
            		TodayColor : SundayColor);
            int k = 0;
            do
            {

                g.drawLine(WeekPointX[j][k * 2] + WeekOffset[j],
                 WeekPointY[j][k * 2], WeekPointX[j][k * 2 + 1] + 
                 WeekOffset[j], WeekPointY[j][k * 2 + 1]);
                k++;
 
            }
            while(WeekPointX[j][k * 2] != -1);

        }
        while(++j < 7);

    }
    //设置主窗口
    void drawFrame(Graphics g)
    {

        g.setColor(BGColor);
        g.fillRect(0, 0, base_width, base_height);
        if(ShowFrame)
        {
      
            g.setColor(BorderLight);
            g.drawRect(0, 0, base_width - 1, base_height - 1);
            g.drawRect(1, 1, base_width - 3, base_height - 3);
            g.drawRect(3, 3, base_width - 7, base_height - 7);
            g.drawRect(4, 4, base_width - 9, base_height - 9);
            g.setColor(BorderMideum);
            g.drawRect(2, 2, base_width - 5, base_height - 5);
            g.setColor(BorderDark);
            g.drawLine(base_width - 1, 1, base_width - 1, 
            		base_height - 1);
            g.drawLine(base_width - 1, base_height - 1, 0, 
            		base_height - 1);
            g.drawLine(base_width - 2, 2, base_width - 2, 
            		base_height - 2);
            g.drawLine(base_width - 2, base_height - 2, 1, 
            		base_height - 2);
            g.drawLine(3, 3, base_width - 4, 3);
            g.drawLine(3, 3, 3, base_height - 5);
            g.drawLine(4, 4, base_width - 5, 4);
            g.drawLine(4, 4, 4, base_height - 6);
       
        }
        int i = offset;
        if(ShowWeek)
            i += 10;
        g.drawImage(image[10], bdigit_width * 2 + offset, i, this);
        g.drawImage(image[10], bdigit_width * 5 + offset, i, this);
        if(ShowDate)
        {
        
            i += 20;
            g.setColor(BorderLight);
            g.drawLine(offset + 3, i + 2, base_width - offset - 4,
            		 i + 2);
            i += 5;
            g.drawImage(image[11], bdigit_width * 2 + offset,
            		 i, this);
            g.drawImage(image[11], bdigit_width * 5 + offset, 
            		i, this);
        
        }
    
    }
    //画屏函数
    public void paintApplet(Graphics g)
    {

        int i = offset;
        Date date = new Date();
        if(TimeDiff != 0L)
            date.setTime(date.getTime() + TimeDiff);
        int j = date.getYear();
        int k = date.getMonth() + 1;
        int l = date.getDate();
        int i1 = date.getHours();
        int j1 = date.getMinutes();
        int k1 = date.getSeconds();
        if(!Show24Hour)
            i1 = i1 <= 12 ? i1 : i1 - 12;
        if(buf_image == null)
            drawFrame(g);
        if(ShowWeek)
        {
 
            g.drawImage(wimage[date.getDay()], offset, i, this);
            i += 10;
 
        }
        g.drawImage(image[i1 / 10], offset, i, this);
        g.drawImage(image[i1 % 10], bdigit_width + offset, i, this);
        g.drawImage(image[j1 / 10], 
        		bdigit_width * 3 + offset, i, this);
        g.drawImage(image[j1 % 10], 
        		bdigit_width * 4 + offset, i, this);
        g.drawImage(image[k1 / 10], 
        		bdigit_width * 6 + offset, i, this);
        g.drawImage(image[k1 % 10], 
        		bdigit_width * 7 + offset, i, this);
        if(ShowDate)
        {

            i += 25;
            g.drawImage(image[k / 10], offset, i, this);
            g.drawImage(image[k % 10], bdigit_width + offset,
            		 i, this);
            g.drawImage(image[l / 10], bdigit_width * 3 + offset,
            		 i, this);
            g.drawImage(image[l % 10], bdigit_width * 4 + offset,
            		 i, this);
            g.drawImage(image[j / 10], bdigit_width * 6 + offset,
             		 i, this);
            g.drawImage(image[j % 10], bdigit_width * 7 + offset, 
            		i, this);
        
        }
    
    }
    //刷新屏幕函数
    public void update(Graphics g)
    {
       
        if(tracker.statusID(0, true) == 8)
        {
      
            if(buf_image != null)
            {
       
                paintApplet(gc);
                g.drawImage(buf_image, 0, 0, this);
                return;
       
            }
            g.clearRect(0, 0, base_width, base_height);
            paintApplet(g);
      
        }
   
    }
    //启动小程序
    public void start()
    {
 
        if(timer == null)
        {
  
            timer = new Thread(this, "JDClock");
            timer.start();
   
        }
   
    }
    //停止小程序
    public void stop()
    {
 
        timer = null;

    }
    //运行小程序
    public void run()
    {

        while(timer != null)
        {
 
            try
            {
 
                Thread.sleep(1000L);
                repaint();
                continue;

            }
            catch(InterruptedException _ex) { }
            break;

        }

    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -