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

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

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

    march alex's blog
    hello,I am march alex
    posts - 52,comments - 7,trackbacks - 0
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;

    import javax.swing.JFrame;
    import javax.swing.JPanel;


    public class FrameWork extends JFrame {
        
        private static final double pi = Math.acos(-1.0);
        private static final int Width = 1100;
        private static final int Height = 650;
        private static JFrame frame = null;
        private static int the_time = -1095;
        
        public FrameWork() {
            frame = new JFrame("Frame");
            frame.setLocationRelativeTo(null);
            frame.setSize(Width, Height);
            frame.setLocation(100, 30);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
            
            for(int i=0;i<1000;i++) {
            JPanel panel = new ImagePanel();
            panel.setBounds(0, 0, Width, Height);
            frame.getContentPane().add(panel);
            frame.setVisible(true);
            the_time +=5;
            }
        }
        
        class ImagePanel extends JPanel {
            public void paint(Graphics g) {
                super.paint(g);
                g.setColor(Color.WHITE);
                g.fillRect(0, 0, Width, Height);
                
                if(the_time < 0) {
                    g.setColor(Color.BLACK);
                    g.setFont(new Font("MS UI Gothic", Font.PLAIN, 50));
                    g.drawString(""+(-the_time/100), 50, 50);
                }
                
                int[] x = {500, 550, 150, 300, 800, 850, 950, 100};
                int[] y = {500, 250, 200, 100, 190, 300, 450, 420};
                g.setColor(Color.GRAY);
                for(int i=0;i<8;i++)
                    for(int j=i+1;j<8;j++) {
                        g.drawLine(x[i], y[i], x[j], y[j]);
                    }
                int[][] d = new int[8][8];
                for(int i=0;i<8;i++)
                    for(int j=0;j<8;j++)
                        d[i][j] = (int)Math.sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
                int[] start = new int[8];
                start[0] = 0;
                for(int i=1;i<=4;i++) start[i] = start[i-1] + d[i-1][i];
                int d_long = 0;
                for(int i=1;i<8;i++) if(d[0][i] > d_long) d_long = d[0][i];
                int end_time = start[4] + d[0][4] + d_long;
                if(the_time <= 0) g.setColor(Color.YELLOW);
                else if(the_time > end_time-d_long) g.setColor(Color.RED);
                else g.setColor(Color.ORANGE);
                g.fillRect(x[0]-15, y[0]-30, 30, 30);
                g.setColor(Color.BLACK);
                g.drawRect(x[0]-15, y[0]-30, 30, 30);
                if(the_time <= 0) g.setColor(Color.YELLOW);
                else if(the_time > end_time-d_long) g.setColor(Color.RED);
                else g.setColor(Color.ORANGE);
                g.fillOval(x[0]-30, y[0]-20, 60, 40);
                g.setColor(Color.BLACK);
                g.drawOval(x[0]-30, y[0]-20, 60, 40);
                for(int i=1;i<=4;i++) {
                    if(the_time <= start[i]) g.setColor(Color.BLUE);
                    else g.setColor(Color.darkGray);
                    g.fillRect(x[i]-15, y[i]-15, 30, 30);
                    g.setColor(Color.BLACK);
                    g.drawRect(x[i]-15, y[i]-15, 30, 30);
                }
                for(int i=5;i<8;i++) {
                    g.setColor(Color.GREEN);
                    g.fillOval(x[i]-15, y[i]-15, 30, 30);
                    g.setColor(Color.BLACK);
                    g.drawOval(x[i]-15, y[i]-15, 30, 30);
                }
                for(int i=0;i<5;i++) {
                    if(the_time > start[i]) {
                        int left_time = the_time - start[i];
                        for(int j=0;j<8;j++) {
                            if(i == j) continue;
                            if(d[i][j] > left_time) {
                                int xx = x[i] + (int)((double)(x[j]-x[i])*left_time/(double)d[i][j]);
                                int yy = y[i] + (int)((double)(y[j]-y[i])*left_time/(double)d[i][j]);
                                g.setColor(Color.CYAN);
                                g.fillOval(xx-5, yy-5, 10, 10);
                            }
                        }
                    }
                }
                if(the_time>end_time-d_long) {
                    for(int i=1;i<8;i++) {
                        int left_time = the_time - end_time + d_long;
                        if(left_time > d[0][i]) {
                            if(i>4) {
                                g.setColor(Color.RED);
                                g.fillOval(x[i]-15, y[i]-15, 30, 30);
                                g.setColor(Color.BLACK);
                                g.drawOval(x[i]-15, y[i]-15, 30, 30);
                            } else {
                                g.setColor(Color.RED);
                                g.fillRect(x[i]-15, y[i]-15, 30, 30);
                                g.setColor(Color.BLACK);
                                g.drawRect(x[i]-15, y[i]-15, 30, 30);
                            }
                        } else {
                            int xx = x[0] + (int)((double)(x[i]-x[0])*left_time/(double)d[0][i]);
                            int yy = y[0] + (int)((double)(y[i]-y[0])*left_time/(double)d[0][i]);
                            g.setColor(Color.RED);
                            g.fillOval(xx-5, yy-5, 10, 10);
                        }
                    }
                }
                g.setColor(Color.WHITE);
                g.setFont(new Font("MS UI Gothic", Font.PLAIN, 30));
                for(int i=1;i<=4;i++) {
                    g.drawString(""+i, x[i]-7, y[i]+7);
                }
            }
        }
        
        public static void main(String[] args) {
            new FrameWork();
        }
    }
    posted on 2015-06-08 01:55 marchalex 閱讀(239) 評論(0)  編輯  收藏 所屬分類: java小程序
    主站蜘蛛池模板: 99ee6热久久免费精品6| 97视频热人人精品免费| 亚洲午夜精品久久久久久app| 国产亚洲精品福利在线无卡一| 最新免费jlzzjlzz在线播放| 久久免费看黄a级毛片| 成年女人A毛片免费视频| 亚洲AV无码国产一区二区三区| 亚洲综合久久成人69| 国产AV无码专区亚洲Av| 亚洲成av人片在线观看天堂无码 | 免费无码肉片在线观看| 日本xxxx色视频在线观看免费| 国产免费高清69式视频在线观看| 国产精品亚洲AV三区| 亚洲精品动漫免费二区| 亚洲人成在线中文字幕| 久久亚洲国产精品成人AV秋霞| 亚洲日韩av无码| 亚洲人成网站在线观看播放| 亚洲精品成a人在线观看| 国产乱子影视频上线免费观看| 日韩一区二区a片免费观看| 九九精品免费视频| 成年人免费的视频| 久久精品国产免费观看三人同眠 | 亚洲成人中文字幕| 亚洲AV无码一区二区三区系列| jlzzjlzz亚洲乱熟在线播放| 亚洲国产精品毛片av不卡在线| 免费在线观看污网站| 亚洲成年看片在线观看| 亚洲熟伦熟女新五十路熟妇 | 亚洲黄色三级视频| 亚洲AV无一区二区三区久久| 亚洲国产精品久久久久婷婷软件| 亚洲va久久久噜噜噜久久| 国产AV无码专区亚洲A∨毛片| 亚洲男人天堂av| 亚洲国产夜色在线观看| 四虎必出精品亚洲高清|