亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? logviewerplayer.java

?? 這是一個演示分布式系統并行計算的GUI程序
?? JAVA
字號:
package cn.ac.siat.dswatcher;

import cn.ac.siat.dswatcher.toolkit.TimeTool;

import javax.swing.*;
import javax.swing.Timer;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.Date;
import java.util.*;
import java.util.List;

/**
 * Created by IntelliJ IDEA.
 * Author: Disheng
 * Date: 2007-2-8
 * Time: 13:45:17
 * Institution: CGCL/ChinaGrid
 * Description: To change this template use File | Settings | File Templates.
 */
public class LogViewerPlayer extends Thread implements ActionListener {
    public static long currentTime;
    static long lastTime;
    static int index; // used to record the indexes of the playing frames.
    public static Map allDisplayEdgeMap = new HashMap(100);
    public static List informationList = new ArrayList(100);       //used to record the positions of info.gif
    MotionPanel mPanel;
    ProcessPanel pPanel;
    TimePanel timePanel;
    public static boolean end = false;
    static int delay = 200;

    public LogViewerPlayer(MotionPanel mPanel, ProcessPanel pPanel, TimePanel timePanel) {
        this.mPanel = mPanel;
        this.pPanel = pPanel;
        this.timePanel = timePanel;
    }

    public void run() {
        index = 0;
        ControlMenu.timer = new Timer(delay, this);
        ControlMenu.timer.setInitialDelay(delay * LogViewerPanel.frameList.size());
        ControlMenu.timer.setCoalesce(true);
        ControlMenu.timer.start();
        ControlMenu.frozen = false;
    }

    public void actionPerformed(ActionEvent e) {
        currentTime += delay;
        //refresh the colors of all the displaying edges
        Set entrySet = allDisplayEdgeMap.entrySet();
        Iterator it = entrySet.iterator();
        while (it.hasNext()) {
            Map.Entry entry = ((Map.Entry) it.next());
            Edge edge = ((Edge) entry.getValue());
            Color color = edge.getColor();
            int blue = color.getBlue();
            if (blue < 210) {
                color = new Color(255, blue + 20, blue + 20);
                edge.setColor(color);
            }
        }

        for (int i = 0; i < LogViewerPlayer.informationList.size(); i++) {
            InfoTag ift = ((InfoTag) LogViewerPlayer.informationList.get(i));
            int x = ift.getX();
            int y = ift.getY();
            int startX = ift.getStartX();
            int startY = ift.getStartY();
            int tx = ift.getTerminationX();
            int ty = ift.getTerminationY();
            int x1 = x + (tx - startX) / 8;
            int y1 = y + (ty - startY) / 8;
            if (Math.abs(x1 - tx) >= Math.abs(tx - startX) / 8) {
                ift.setX(x1);
                ift.setY(y1);
            } else {
                ift.setX(tx + MotionPanel.r * (startX - tx) / ift.getLength());
                ift.setY(ty + MotionPanel.r * (startY - ty) / ift.getLength());
            }

        }

        // add new edge
        //   System.out.println("index="+index);
        //   System.out.println("LogViewerPanel.frameList.size()="+LogViewerPanel.frameList.size());

        if (index < LogViewerPanel.frameList.size()) {
            PlayFrame pf = ((PlayFrame) LogViewerPanel.frameList.get(index));
            long time = pf.getTimestamp();
            while (time <= currentTime) {

                Node from = pf.getFrom();
                Node to = pf.getTo();
                if (from != null && to != null) {
                    int x1 = (int) from.getX() + 13;
                    int y1 = (int) from.getY() + 13;
                    int x2 = (int) to.getX() + 13;
                    int y2 = (int) to.getY() + 13;
                    Color c = new Color(255, 0, 0);
                    Edge edge = new Edge(c, x1, y1, x2, y2);
                    Graphics2D g = ((Graphics2D) mPanel.getGraphics());
                    g.setStroke(new BasicStroke(3f));
                    g.setColor(Color.yellow);
                    g.drawLine(x1, y1, x2, y2);
                    g.setColor(Color.green);
                    g.drawLine(x1, y1, x2, y2);
                    g.setColor(Color.cyan);
                    g.drawLine(x1, y1, x2, y2);
                    g.setColor(Color.blue);
                    g.drawLine(x1, y1, x2, y2);
                    allDisplayEdgeMap.put(from + "-" + to, edge);
                    double length = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
                    informationList.add(new InfoTag(x1, y1, x1, y1, x2, y2, (int) length));


                    String processName = pf.getProcessName();
                    ArrayList list = ((ArrayList) MotionPanel.processMap.get(processName));
                    float newProcessProportion = 1;
                    for (int i = 0; i < list.size(); i++) {
                        Node n1 = ((Node) list.get(i));
                        if (n1.getText().equals(from.getText())) {
                            newProcessProportion = n1.getProcessProportion() / 2;
                            n1.setProcessProportion(newProcessProportion);
                            break;
                            }
                        }

                    Node n = new Node(to.getText(), "", Color.green,newProcessProportion);
                    //Notice: this n above is used for ProcessPanel, not MotionPanel. So, x and y are not from to.getX/Y()
                    n.setStart_time(new Date(time));
                    for(int i = 0;i < MotionPanel.processRecordList.size(); i++)
                    {
                        Process p = ((Process) MotionPanel.processRecordList.get(i));
                        if(p.getProcessName().equals(processName))
                        {
                            p.getS().push(new Integer(0));
                            break;
                        }
                    }

                    list.add(n);
                    to.getRunningProcessList().add(processName);
                } else if (from == null) {
               //     int x2 = (int) to.getX() + 13;
              //      int y2 = (int) to.getY() + 13;
                    String processName = pf.getProcessName();
                    Process p = new Process(processName,new Date(time),null);
                    p.getS().push(new Integer(0));
                    MotionPanel.processRecordList.add(p);
                    ArrayList list = ((ArrayList) MotionPanel.processMap.get(processName));
                    Node n = new Node(to.getText(), "", Color.green, 1);


                    n.setStart_time(new Date(time));
                    list.add(n);
                    to.getRunningProcessList().add(processName);
                } else // to == null
                {
                    String processName = pf.getProcessName();
                    from.getRunningProcessList().remove(processName);
                    for(int i = 0;i < MotionPanel.processRecordList.size(); i++)
                    {
                        Process p = ((Process) MotionPanel.processRecordList.get(i));
                        if(p.getProcessName().equals(processName))
                        {
                            if(!p.getS().empty())
                            {
                                p.getS().pop();
                                if(p.getS().empty())
                                   p.setEndTime(new Date(time));
                            }
                            break;
                        }
                    }

                    ArrayList list = ((ArrayList) MotionPanel.processMap.get(processName));
                    for (int i = 0; i < list.size(); i++) {
                        Node n1 = ((Node) list.get(i));
                        if (n1.getText().equals(from.getText()) && !n1.isProcessFinished()) {
                            n1.setProcessFinished(true);
                            n1.setEnd_time(new Date(time));
                            break;
                            }
                        }
                }
                index++;
                if (index >= LogViewerPanel.frameList.size()) {
                    break;
                }
                pf = ((PlayFrame) LogViewerPanel.frameList.get(index));
                time = pf.getTimestamp();

            }

        } else {
            end = true;
            System.out.println("...");

            ControlMenu.timer.stop();
        }
        //paint


        mPanel.update();
        pPanel.update();
        //    System.out.println("currentTime="+currentTime);

        if (currentTime / 1000 != lastTime / 1000) {
            lastTime = currentTime;
            String currentTime_S = TimeTool.dateToString(new Date(currentTime), "yyyy-MM-dd HH:mm:ss");
            timePanel.setTime(currentTime_S);
            timePanel.update();
        }

    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人激情av| 男男gaygay亚洲| 国产日韩欧美一区二区三区乱码| 91精品综合久久久久久| 欧美日韩精品综合在线| 欧美日韩精品高清| 欧美日韩国产不卡| 4438x亚洲最大成人网| 欧美日韩精品一区二区| 欧美探花视频资源| 欧美高清hd18日本| 欧美一区二区三区在线看| 日韩一区二区免费高清| 欧美xxxxxxxxx| 久久精品视频网| 国产精品久久网站| 亚洲影院免费观看| 美女看a上一区| 国产v日产∨综合v精品视频| av电影天堂一区二区在线| 日本韩国视频一区二区| 欧美日韩国产影片| 久久久久九九视频| 亚洲美女一区二区三区| 亚洲福利视频一区二区| 奇米亚洲午夜久久精品| 国产一区二区三区日韩| 91蝌蚪porny| 91精品国产综合久久精品app| 精品国产人成亚洲区| 国产欧美日韩麻豆91| 一区二区三区中文字幕| 经典三级一区二区| 色婷婷综合激情| 日韩欧美www| 亚洲精品中文字幕在线观看| 日韩中文字幕亚洲一区二区va在线| 韩日av一区二区| 色哟哟国产精品免费观看| 日韩视频免费观看高清完整版在线观看| 久久这里只精品最新地址| 尤物视频一区二区| 国产高清精品久久久久| 欧美日本一道本| 国产精品久久久久影院亚瑟| 美女视频免费一区| 欧美综合色免费| 国产精品久久久久婷婷二区次| 日韩二区三区在线观看| 色综合咪咪久久| 国产喂奶挤奶一区二区三区| 午夜精品久久久久久不卡8050| gogo大胆日本视频一区| 欧美电视剧在线观看完整版| 亚洲一区二区黄色| 菠萝蜜视频在线观看一区| 日韩一本二本av| 亚洲bt欧美bt精品| 日本丶国产丶欧美色综合| 国产亚洲欧美一级| 国产在线播精品第三| 欧美一区二区女人| 日韩精品成人一区二区三区 | 亚洲成a人片综合在线| 成人18视频日本| 国产欧美一区二区在线观看| 久久99精品国产.久久久久久| 欧美丰满少妇xxxbbb| 亚洲国产日韩一区二区| 91蝌蚪国产九色| 亚洲精品v日韩精品| 91免费视频大全| 日韩毛片视频在线看| 成人黄色免费短视频| 国产精品视频在线看| 成年人午夜久久久| 最新国产精品久久精品| aaa欧美色吧激情视频| 中文字幕中文在线不卡住| 丁香激情综合国产| 国产精品电影一区二区三区| eeuss鲁一区二区三区| 国产欧美久久久精品影院| 成人av在线影院| 亚洲视频综合在线| 欧美日韩一区二区三区视频| 亚洲va国产va欧美va观看| 91精品国产入口在线| 久久国产夜色精品鲁鲁99| 精品少妇一区二区三区在线播放| 男女激情视频一区| 国产免费久久精品| 91免费视频网址| 日韩高清不卡一区二区三区| 欧美电视剧免费全集观看| 国产精品原创巨作av| **性色生活片久久毛片| 欧美色综合网站| 伦理电影国产精品| 国产精品不卡在线| 欧美特级限制片免费在线观看| 日韩av一区二区在线影视| 欧美精品一区二区三区很污很色的| 久久99热这里只有精品| 国产精品久久久久久亚洲毛片| 在线观看国产一区二区| 久久国产视频网| 国产精品夫妻自拍| 欧美一区二区不卡视频| 国产精品1区2区3区在线观看| 亚洲欧美激情插| 7777精品伊人久久久大香线蕉超级流畅 | 伊人开心综合网| 在线成人免费观看| 成人黄色小视频| 蜜桃视频第一区免费观看| 国产精品嫩草影院com| 91精品国产综合久久精品| 成人av资源站| 麻豆成人91精品二区三区| 国产精品蜜臀av| 欧美一级黄色片| 在线免费观看成人短视频| 国产福利精品一区| 日韩av电影天堂| 亚洲精品精品亚洲| 亚洲国产精品传媒在线观看| 欧美群妇大交群中文字幕| 不卡视频在线观看| 国产在线看一区| 视频一区中文字幕| 中文字幕中文字幕中文字幕亚洲无线| 日韩一区二区在线看片| 91久久香蕉国产日韩欧美9色| 国产麻豆视频一区二区| 日本午夜一本久久久综合| 亚洲国产一区二区视频| 国产精品福利一区二区| 国产三级欧美三级日产三级99 | 国产精品久久久久久久久晋中| 91精品国产乱| 欧美日韩亚洲综合在线| 日本久久精品电影| 91麻豆免费视频| 91在线视频免费观看| 99久久国产免费看| 国产电影一区二区三区| 国内精品伊人久久久久av一坑 | 亚洲色图一区二区| 国产精品久久毛片| 国产精品第五页| 亚洲日本va在线观看| 1000精品久久久久久久久| 中文字幕一区二区三区色视频| 国产亚洲精品7777| 中文一区二区完整视频在线观看| 国产偷国产偷精品高清尤物| 久久色.com| 国产人成亚洲第一网站在线播放| 久久久99久久| 国产精品免费人成网站| 中文字幕精品在线不卡| 中文字幕中文在线不卡住| 亚洲视频一区在线| 一区二区久久久| 日本色综合中文字幕| 国产一区二区三区免费看| 国产精品一区久久久久| 成人综合婷婷国产精品久久| 成年人网站91| 欧美日韩黄色影视| 久久综合成人精品亚洲另类欧美| 久久久久国产成人精品亚洲午夜 | 欧洲av一区二区嗯嗯嗯啊| 欧美日韩高清一区二区三区| 日韩精品一区二区三区三区免费| 精品免费日韩av| 国产精品国产三级国产有无不卡| 一区二区在线观看视频 | 国产片一区二区| 一区二区欧美精品| 精品一区二区三区影院在线午夜| 国产 日韩 欧美大片| 欧洲色大大久久| 久久综合五月天婷婷伊人| 亚洲视频 欧洲视频| 蜜臀久久久99精品久久久久久| 国产福利不卡视频| 欧美亚洲高清一区| 久久久综合网站| 亚洲国产精品嫩草影院| 国产一区二区三区日韩| 欧美午夜精品一区| 久久久不卡影院| 丝瓜av网站精品一区二区| 成人综合婷婷国产精品久久免费| 欧美日韩国产高清一区二区三区| 欧美国产97人人爽人人喊| 日韩高清在线一区| 日本韩国欧美一区二区三区|