<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    千里冰封
    JAVA 濃香四溢
    posts - 151,comments - 2801,trackbacks - 0
    這也是以前寫的一個東西,全屏下運行,很像是WINDOWS下的屏保,會顯示時鐘,并且會隨機自然地碰撞.全屏狀態下如需退出,請按小鍵盤上的0退出.
    點擊下載可執行的JAR文件,JDK1.5以上
    import java.text.*;
    import java.awt.*;
    import javax.swing.*;
    import java.awt.geom.*;
    import java.util.*;
    import java.awt.event.*;
    /*
     * ScreenTest.java
     *
     * Created on 2006年7月6日, 下午5:23
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     
    */

    /**
     *
     * 
    @author lbf
     
    */
    public class ScreenTest extends JPanel implements Runnable{
        
        
    /** Creates a new instance of ScreenTest */
        
    private String time;
        
    private Rectangle2D rd;
        
    private int x,y,a,b;//座標值和方向值
        private int rgb=0;//顏色的值
        private Color color;//字體的顏色
        private int width,height;//屏幕的大小
        public ScreenTest(int width,int height) {
            
    this.width=width;
            
    this.height=height;
            initWindow();
        }
        
    private void initWindow(){
            x
    =(int)(Math.random()*300);
            y
    =(int)(Math.random()*500);
            a
    =1;
            b
    =1;
            
    this.setBackground(Color.BLACK);
            
    this.setOpaque(true);
            rd
    =new Rectangle2D.Double(10,10,101,10);
            color
    =Color.YELLOW;
        }
        
    private void doColor(){
           rgb
    =(int)(Math.random()*0xFFFFFF);
               color
    =new Color(rgb);
         }
        
    public void paintComponent(Graphics g){
            g.setColor(Color.BLACK);
            g.fillRect(
    0,0,width,height);
            g.setColor(color);
            g.setFont(
    new Font("楷書",Font.BOLD,150));
            FontMetrics fm
    =g.getFontMetrics();
            rd
    =fm.getStringBounds(time,g);
            g.drawString(time,x,(
    int)(y+rd.getHeight()));
          }
        
    private void doTime(){
            Calendar cal
    =Calendar.getInstance();
            DateFormat df
    =DateFormat.getTimeInstance(DateFormat.MEDIUM);
            Date date
    =cal.getTime();
            time
    =df.format(date);
            x
    +=a;
            y
    +=b;
            
    double width1=rd.getWidth();
            
    double height1=rd.getHeight();
            rd.setRect(x,y,width1,height1);
            
    if(rd.intersectsLine(width,0,width,height)){
                doColor();
                a
    =-1;
            }
            
    else if(rd.intersectsLine(0,0,0,height)){
                doColor();
                a
    =1;
            }
            
    else if(rd.getY()<=-80){
                 doColor();
                 b
    =1;
            }
            
    else if(rd.intersectsLine(0,height,width,height)){
               doColor();
                b
    =-1;
            }
            
        }
        
    public void run(){
            
    while(true){
                
    try{
                    Thread.sleep(
    2);
                    doTime();
                    repaint();
                }
                
    catch(InterruptedException ie){
                    ie.printStackTrace();
                }
            }
        }
       
    public  static void main(String arsg[]){
            
            GraphicsDevice gd
    =GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
            DisplayMode dm
    =gd.getDisplayMode();
            
    int width=dm.getWidth();
            
    int height=dm.getHeight();
            System.out.println(
    "width="+width+"\nheight="+height);
            ScreenTest st
    =new ScreenTest(width,height);
            
    final JFrame jf=new JFrame();
            jf.getContentPane().add(st,BorderLayout.CENTER);
            jf.setUndecorated(
    true);
            gd.setFullScreenWindow(jf);
            
    new Thread(st).start();
            jf.addKeyListener(
    new KeyAdapter(){
               
    public void keyReleased(KeyEvent ke){
                   
    if(ke.getKeyCode()==KeyEvent.VK_NUMPAD0)
                       System.exit(
    0);
                    } 
            });
        }
        
    }



    盡管千里冰封
    依然擁有晴空

    你我共同品味JAVA的濃香.
    posted on 2007-09-03 09:18 千里冰封 閱讀(1574) 評論(1)  編輯  收藏 所屬分類: JAVASE

    FeedBack:
    # re: JAVA模仿屏保
    2008-10-25 22:18 | jiangchanghong
    盡管千里冰封
    依然擁有晴空

    你我共同品味JAVA的濃香.   回復  更多評論
      
    主站蜘蛛池模板: 国产成人精品亚洲精品| 亚洲综合久久夜AV | 国产免费观看黄AV片| 亚洲成AⅤ人影院在线观看| 国产亚洲精午夜久久久久久| 亚洲成a人片在线观看无码专区| 亚洲视频手机在线| 亚洲综合激情五月丁香六月| 免费一区二区三区在线视频 | 亚洲人成在线观看| 亚洲最大成人网色香蕉| 色屁屁www影院免费观看视频| 一级有奶水毛片免费看| 国产曰批免费视频播放免费s| 国产国产人免费人成免费视频| 亚洲日韩一页精品发布| 亚洲大香伊人蕉在人依线| 国产精品亚洲专区在线播放| 国产成人免费AV在线播放| 毛片在线看免费版| 亚洲中文字幕无码一区| 精品亚洲AV无码一区二区三区| 草久免费在线观看网站| 18女人腿打开无遮掩免费| 一本色道久久88综合亚洲精品高清| 亚洲成A人片在线观看无码不卡 | 国产精彩免费视频| 亚洲国产成人乱码精品女人久久久不卡 | 精品久久久久久亚洲| 亚洲不卡中文字幕| www在线观看免费视频| 日本高清在线免费| 精品国产亚洲男女在线线电影| 亚洲国产成人无码av在线播放| 成人a毛片视频免费看| 在线永久免费的视频草莓| 久久久久久久亚洲精品| 亚洲av一本岛在线播放| 男人天堂免费视频| 国产成人免费永久播放视频平台| 亚洲尹人九九大色香蕉网站|