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

📄 clock2.java

📁 Java 范例实战 光盘使用说明 ========================== 本光盘的文件结构如下所示: =====================================
💻 JAVA
字号:
import java.applet.Applet;
import java.awt.*;
import java.text.*;
import java.util.*;

public class Clock2 extends Applet implements Runnable
{

    Thread timer ;
    Color fgColor, bgColor ;
    Font showFont ;
    String lastDate, dateFormat ;
    String[] weekDays = new String[7],
             months = new String[12] ;

    public Clock2()
    {

        lastDate = "" ;

    }

    int getParameter(String s1, int s2) 
    {
    
        String s = getParameter(s1) ;
        return (s != null) ? Integer.parseInt(s) : s2 ;
    
    }

    String getParameter(String s1, String s2) 
    {
    
        String s = getParameter(s1) ;
        return (s != null) ? s : s2 ;
    
    }

    Color getParameter(String s1, Color s2)
    {
    
        String s = getParameter(s1);
        return (s != null) ? 
        	new Color(Integer.parseInt(s, 16)) : s2 ;
   
    }

    Font getParameter(String fn, String fs, String sz, Font s2)
    {
   
        int fontStyle = Font.PLAIN ;
        fs = getParameter(fs, "PLAIN") ;
        if (fs.toUpperCase().indexOf("BOLD") != -1) 
        	fontStyle |= Font.BOLD ;
        if (fs.toUpperCase().indexOf("ITALIC") != -1) 
        	fontStyle |= Font.ITALIC ;
        return ((fn = getParameter(fn)) != null) ?
          new Font(fn, fontStyle, getParameter(sz, s2.getSize())) :
          new Font(s2.getName(), fontStyle, 
          		getParameter(sz, s2.getSize())) ;
    
    }

    public void init()
    {
        
        int i = 12;
        byte byte0 = 0;
        bgColor = getParameter("BGColor", new Color(0xc0c0c0));
        fgColor = getParameter("FGColor", Color.black);
        setBackground(bgColor);
        showFont = getParameter("Font","FontStyle","FontSize",
                   new Font("TimesRoman", Font.PLAIN, 12));
        dateFormat = getParameter("dateFormat","%a, %B %e %T");
        weekDays[0] = new String("Sunday");
        weekDays[1] = new String("Monday");
        weekDays[2] = new String("Tuesday");
        weekDays[3] = new String("Wednesday");
        weekDays[4] = new String("Thursday");
        weekDays[5] = new String("Friday");
        weekDays[6] = new String("Saturday");
        months[0] = new String("January");
        months[1] = new String("February");
        months[2] = new String("March");
        months[3] = new String("April");
        months[4] = new String("May");
        months[5] = new String("June");
        months[6] = new String("July");
        months[7] = new String("August");
        months[8] = new String("September");
        months[9] = new String("October");
        months[10] = new String("November");
        months[11] = new String("December");
    
    }

    private String padElement(int i, char c)
    {
    
        String s = "";
        if(i < 10)
            s = s.concat(String.valueOf(c));
        s = s.concat(String.valueOf(i));
        return s;
    
    }

    private String formatDate(String s, Date date)
    {
    
        String s1 = "";
        int year = date.getYear();
        int j = year + 1900;
        int month = date.getMonth();
        int l = date.getDate();
        int i1 = date.getDay();
        int j1 = date.getHours();
        int k1 = date.getMinutes();
        int l1 = date.getSeconds();
        year = year <= 99 ? year : year - 100;
        int i2 = j1 >= 13 ? j1 - 12 : j1;
        for(int j2 = 0; j2 < s.length(); j2++)
            if(s.charAt(j2) == '%')
            {
    
                j2++;
                if(s.length() <= j2)
                    s1 = s1.concat("?");
                else
                    switch(s.charAt(j2))
                    {
    
                    case 97: // 'a'
                        s1 =s1.concat(weekDays[i1].substring(0, 3));
                        break;

                    case 65: // 'A'
                        s1 =s1.concat(weekDays[i1]);
                        break;

                    case 98: // 'b'
                    case 104: // 'h'
                        s1=s1.concat(months[month].substring(0, 3));
                        break;

                    case 66: // 'B'
                        s1 = s1.concat(months[month]);
                        break;

                    case 99: // 'c'
                        s1 = s1.concat(date.toLocaleString());
                        break;

                    case 67: // 'C'
                        s1 = s1.concat(date.toString());
                        break;

                    case 100: // 'd'
                        s1 = s1.concat(padElement(l, '0'));
                        break;

                    case 68: // 'D'
                        s1 = s1.concat(padElement(month + 1, '0'));
                        s1 = s1.concat(String.valueOf('/'));
                        s1 = s1.concat(padElement(l, '0'));
                        s1 = s1.concat(String.valueOf('/'));
                        s1 = s1.concat(padElement(year, '0'));
                        break;

                    case 101: // 'e'
                        s1 = s1.concat(padElement(l, ' '));
                        break;

                    case 72: // 'H'
                        s1 = s1.concat(padElement(j1, '0'));
                        break;

                    case 73: // 'I'
                        s1 = s1.concat(padElement(i2, '0'));
                        break;

                    case 109: // 'm'
                        s1 = s1.concat(padElement(month + 1, '0'));
                        break;

                    case 77: // 'M'
                        s1 = s1.concat(padElement(k1, '0'));
                        break;

                    case 112: // 'p'
                        s1 = s1.concat(
                            String.valueOf(j1 >= 12 ? "PM" : "AM"));
                        break;

                    case 114: // 'r'
                        s1 = s1.concat(padElement(i2, '0'));
                        s1 = s1.concat(String.valueOf(':'));
                        s1 = s1.concat(padElement(k1, '0'));
                        s1 = s1.concat(String.valueOf(':'));
                        s1 = s1.concat(padElement(l1, '0'));
                        s1 = s1.concat(String.valueOf(' '));
                        s1 = s1.concat(
                            String.valueOf(j1 >= 12 ? "PM" : "AM"));
                        break;

                    case 82: // 'R'
                        s1 = s1.concat(padElement(j1, '0'));
                        s1 = s1.concat(String.valueOf(':'));
                        s1 = s1.concat(padElement(k1, '0'));
                        break;

                    case 83: // 'S'
                        s1 = s1.concat(padElement(l1, '0'));
                        break;

                    case 84: // 'T'
                        s1 = s1.concat(padElement(j1, '0'));
                        s1 = s1.concat(String.valueOf(':'));
                        s1 = s1.concat(padElement(k1, '0'));
                        s1 = s1.concat(String.valueOf(':'));
                        s1 = s1.concat(padElement(l1, '0'));
                        break;

                    case 119: // 'w'
                        s1 = s1.concat(String.valueOf(i1));
                        break;

                    case 121: // 'y'
                        s1 = s1.concat(padElement(year, '0'));
                        break;

                    case 89: // 'Y'
                        s1 = s1.concat(padElement(j, '0'));
                        break;

                    case 37: // '%'
                        s1 = s1.concat("%");
                        break;

                    default:
                        s1 = s1.concat("??");
                        break;

                    }
            
            }
            else
            {
            
                s1 = s1.concat(String.valueOf(s.charAt(j2)));
            
            }
        return s1;
    
    }

    public void paint(Graphics g)
    {
    
        g.setFont(showFont);
        g.setColor(bgColor);
        g.drawString(lastDate, 5, 20);
        g.setColor(fgColor);
        lastDate = formatDate(dateFormat, new Date()) ;
        g.drawString(lastDate, 5, 20);
    
    }

    public void start()
    {
   
        if(timer == null)
        {
       
            timer = new Thread(this);
            timer.start();
       
        }
   
    }

    public void stop()
    {
    
        timer = null;
   
    }

    public void run()
    {
    
        while(timer != null)
        {
     
            try
            {
    
                Thread.sleep(100L);
     
            }
            catch(InterruptedException _ex) { }
            repaint();
        
        }
    
    }

    public void update(Graphics g)
    {
    
        paint(g);
    
    }

}

⌨️ 快捷键说明

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