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

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

?? task.java

?? 一個用于安排項目時間表的Java程序
?? JAVA
字號:
/* *  $Id: Task.java,v 1.1.1.1 2001/03/20 22:17:40 mastermitch Exp $  * *  2001 (C) by Christian Garbs <mitch@uni.de> * *  Licensed under GNU GPL (see COPYING for details) * */package de.cgarbs.apps.jprojecttimer;import java.awt.Color;import java.awt.Graphics;import java.util.Enumeration;import javax.swing.JLabel;/** A task is a single action that is part of a project. *  * @author Christian Garbs <mitch@cgarbs.de> * @version $Id: Task.java,v 1.1.1.1 2001/03/20 22:17:40 mastermitch Exp $ */public class Task{    /**      */    private boolean needsToBeSaved;    /** When this task is marked dirty, it has changed and must be recalculated.     */    private boolean dirty;    /** This is the beginning time of this task.     */    private int start = 0;    /** This is the duration of this task.     */    private int length = 0;    /**      */    private int completion = 0;    /** This is the name of this task.     */    private String name = " ";    /** This is a list of Tasks that must be finished before this task can start.     */    private TaskList dependencies;    /** Creates a new task with no dependencies, the name "new" and no duration.     */    public Task()    {	this(new TaskList());    }    /** Creates a new task with the given dependencies, the name "new" and no duration.     *      * @param dependencies A list of tasks that must be finished before the      *     new task can start.     */    public Task(TaskList dependencies)    {	this(Resource.get("defaultTaskName"), 1, 0, dependencies);    }    /** Creates a new task with the given parameters.     *      * @param name The name of the new task.     * @param length The duration of the new task.     * @param completion      * @param dependencies A list of tasks that must be finished before the        *      new task can start.     */    public Task(String name, int length, int completion, TaskList dependencies)    {	setName(name);	setLength(length);	setCompletion(completion);	setDependencies(dependencies);	needsToBeSaved = true;    }    /** Tags this task as dirty (meaning it's contents have changed and it has to be recalculated).     */    public void tagAsDirty()    {	dirty = true;    }    /** Calculates the starting time of this task depending on the ending times of the tasks that need to be finished before.     */    public void calculate()    {	if (dirty) {	    start = 0;	    for(Enumeration e = dependencies.elements(); e.hasMoreElements(); )		{		    Task v = (Task) e.nextElement();		    if (v.getEnd() > start) {			start = v.getEnd();		    }		}	    dirty = false;	}    }    /** Returns the ending time of this task.     *      * @return Ending time of this task     */    public int getEnd()    {	if (dirty) {	    calculate();	}	return start + length;    }    /** Returns the starting time of this task.     *      * @return Starting time of this task     */    public int getStart()    {	if (dirty) {	    calculate();	}	return start;    }    /** Returns the duration of this task.     *      * @return Duration of this task     */    public int getLength()    {	return length;    }    /**      */    public int getCompletion()    {	return completion;    }    /** Returns the name of this task.     *      * @return Name of this task     */    public String getName()    {	return name;    }    /** Returns a list of all tasks that have to be finished before this task can begin.     *      * @return List of depending tasks     */    public TaskList getDependencies()    {	return dependencies;    }    /** Changes the name of this task.     *      * @param name New name of task     */    public void setName(String name)    {	this.name = name;	needsToBeSaved = true;    }    /** Changes the duration of this task.     *      * @param length New duration of task     */    public void setLength(int length)    { 	if (length < 0) {	    length = 0;	}	if (this.length != length) {	    this.length = length;	    dirty = true;	}	needsToBeSaved = true;    }    /**      */    public void setCompletion(int completion)    { 	if (completion < 0) {	    this.completion = 0;	} else if (completion > 100) {	    this.completion = 100;	} else {	    this.completion = completion;	}	needsToBeSaved = true;    }    /** Changes the tasks that have to be finished before this task can start.     *      * @param dependencies New list of dependent tasks     */    public void setDependencies(TaskList dependencies)    {	// eventuell noch ein if(ungleich)then dirty drumsetzen (siehe setLength)	this.dependencies = dependencies;	dirty = true;	needsToBeSaved = true;    }    /** Checks whether starting and ending time of task have to be recalculated.     *      * @return true - task has changed, recalculation is necessary     */    public boolean isDirty()    {	return dirty;    }    /** Recursively checks if a list     *      * @param parent      * @return true - a recursion has been found (that's bad)     */    boolean checkRecursion(Task parent)    {	boolean recursion = false;	if (parent == this) {	    recursion = true;	} else {	    for (Enumeration e = dependencies.elements(); e.hasMoreElements(); ) {		if (((Task) e.nextElement()).checkRecursion(parent)) {		    recursion = true;		}	    }	}	return recursion;     }    /** Returns the name of this task.     *      * @return Name of this task     */    public String toString()    {	return getName();    }    /**      */    public boolean needsToBeSaved()    {	return needsToBeSaved;    }    /**      */    public void hasBeenSaved()    {	needsToBeSaved = false;    }    /**      */    public void paint(Graphics g, int x, int width, int y, int height, int cols, int textWidth)    {	g.setColor(Color.black);	// Linie oben	g.drawLine(x,y,x+width,y);	// Spalten	for (int c = 0; c < cols; c++) {	    g.drawLine((int)( x + textWidth + (c * (width - textWidth)) / cols),		       y,		       (int) (x + textWidth + (c * (width - textWidth)) / cols),		       y+height		       );	}	// Text	g.setColor(Color.blue);	g.drawString(getName(), x+5, y+height/2);	// Task	g.setColor(Color.darkGray);	g.fillRect((int) (x + textWidth + (getStart() * (width - textWidth)) / cols),		   y,		   (int) ((getLength() * (width - textWidth)) / cols + 1),		   height + 1		   );	if (completion > 0) {	    g.setColor(Color.lightGray);	    g.fillRect((int) (x + textWidth + (getStart() * (width - textWidth)) / cols),		       y,		       (int) (((getLength() * (width - textWidth)) / cols + 1) * (completion / 100.0)),		       height + 1		   );	}	g.setColor(Color.black);	g.drawRect((int) (x + textWidth + (getStart() * (width - textWidth)) / cols),		   y,		   (int) ((getLength() * (width - textWidth)) / cols),		   height		   );    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产77777蜜臀| 免费高清在线一区| 日韩国产精品久久久| 国模套图日韩精品一区二区| 91麻豆免费在线观看| 日韩精品一区二区三区在线观看 | 蜜臀av性久久久久蜜臀aⅴ四虎 | av在线这里只有精品| 欧美一区二区在线免费播放| 亚洲另类色综合网站| 欧美美女网站色| 亚洲人被黑人高潮完整版| 国产毛片精品视频| 欧美一区二区三区影视| 亚洲高清久久久| 色综合 综合色| 亚洲国产经典视频| 九色porny丨国产精品| 欧美日韩视频第一区| 国产精品护士白丝一区av| 国产一区二区三区在线观看免费| 91麻豆精品国产91久久久更新时间| 亚洲男同1069视频| 91视频在线看| 自拍偷拍亚洲综合| av亚洲产国偷v产偷v自拍| 亚洲精品在线网站| 麻豆精品在线视频| 欧美一区二区三区婷婷月色| 亚洲国产精品精华液网站| 91美女片黄在线| 亚洲人成电影网站色mp4| 97精品电影院| jvid福利写真一区二区三区| 国产欧美一区二区三区在线看蜜臀| 精品一区二区三区在线播放视频 | 欧美r级电影在线观看| 热久久一区二区| 日韩欧美国产午夜精品| 久久99国产精品久久| 欧美大片国产精品| 激情综合色播五月| 国产亚洲自拍一区| 波多野结衣中文一区| 中文字幕一区二区三| 91免费视频网址| 亚洲国产成人高清精品| 欧美一级xxx| 国产成人午夜片在线观看高清观看| 国产日韩欧美麻豆| 91一区二区三区在线播放| 亚洲卡通欧美制服中文| 欧美日韩色综合| 蜜臀久久99精品久久久久宅男| 久久久久久久网| 暴力调教一区二区三区| 亚洲午夜影视影院在线观看| 欧美一区二区三区四区视频| 国产精品正在播放| 亚洲视频在线一区| 欧美日韩精品一区视频| 久久成人精品无人区| 中文字幕av一区二区三区高 | 久久品道一品道久久精品| 国产91综合一区在线观看| 亚洲欧美视频一区| 91精品国产美女浴室洗澡无遮挡| 国产一区二区三区四| 亚洲三级免费观看| 日韩精品影音先锋| 色呦呦国产精品| 精品亚洲成a人| 一区二区三区免费网站| 2020国产成人综合网| 91碰在线视频| 国产一区二区三区四区五区美女 | 粉嫩欧美一区二区三区高清影视| 一区二区三区电影在线播| 日韩欧美国产小视频| 色婷婷av一区二区三区软件| 午夜伊人狠狠久久| 国产精品第四页| 日韩视频在线永久播放| 在线一区二区三区四区五区| 国产一区二区主播在线| 亚洲成人中文在线| 亚洲婷婷综合久久一本伊一区| 欧美电影免费观看高清完整版在线 | 欧美国产一区二区| 欧美一区二区三区在线观看视频| av在线综合网| 国产成人综合亚洲网站| 午夜一区二区三区在线观看| 亚洲视频香蕉人妖| 久久久欧美精品sm网站| 欧美一卡二卡在线观看| 在线免费不卡电影| av男人天堂一区| 国产aⅴ精品一区二区三区色成熟| 日韩高清电影一区| 亚洲高清免费视频| 一区二区日韩电影| 亚洲欧美一区二区在线观看| 欧美国产日韩在线观看| 精品国产一区二区三区不卡| 欧美一区二区三区在线视频| 欧美男女性生活在线直播观看| 色狠狠一区二区三区香蕉| 成人精品国产免费网站| 国产91丝袜在线播放九色| 国产一区二区三区精品欧美日韩一区二区三区 | 成人亚洲一区二区一| 国内成+人亚洲+欧美+综合在线| 日韩精品1区2区3区| 天天射综合影视| 五月婷婷综合激情| 五月天精品一区二区三区| 亚洲成人免费看| 日日夜夜一区二区| 免费xxxx性欧美18vr| 青青草97国产精品免费观看无弹窗版 | 日韩av一级片| 麻豆国产精品官网| 久久精品国产一区二区三| 久久99国内精品| 国产又黄又大久久| 成人h动漫精品一区二区| 99视频精品免费视频| 一本一道综合狠狠老| 在线观看不卡一区| 欧美一区二区三区成人| 精品理论电影在线观看 | 911精品产国品一二三产区| 制服丝袜中文字幕亚洲| 精品少妇一区二区三区免费观看| 精品国产人成亚洲区| 国产精品色呦呦| 一区二区三区资源| 日韩av高清在线观看| 国产电影一区二区三区| 91在线国内视频| 欧美一区二区三区四区高清| 国产亚洲自拍一区| 亚洲免费观看高清完整版在线观看| 亚洲综合一区二区三区| 麻豆国产精品一区二区三区| 成人黄色777网| 欧美剧在线免费观看网站| 精品91自产拍在线观看一区| 中文字幕亚洲区| 日韩国产欧美在线视频| 国产69精品久久久久毛片| 欧美性猛片aaaaaaa做受| 日韩美女天天操| 亚洲三级久久久| 精品一区二区三区免费播放| 一本色道久久综合亚洲aⅴ蜜桃| 337p亚洲精品色噜噜| 国产成人一级电影| 欧美日韩在线三区| 久久久不卡网国产精品二区| 亚洲国产综合91精品麻豆| 国产精品888| 91精品国产乱| 亚洲精品成人a在线观看| 久久99国产精品尤物| 欧美亚洲一区二区在线观看| 精品99999| 免费观看久久久4p| 91国在线观看| 国产精品美女一区二区三区 | 激情综合亚洲精品| 欧美日韩精品一二三区| 国产精品家庭影院| 国产成人综合网| 日韩精品中文字幕一区| 午夜精品爽啪视频| 91福利社在线观看| 国产精品国产a级| 国产精品一区久久久久| 91精品国产综合久久香蕉的特点| 亚洲天堂中文字幕| 国产成人一区在线| 久久综合久久综合久久综合| 免费在线看一区| 欧美日韩国产片| 亚洲成人免费视频| 在线欧美一区二区| 亚洲女厕所小便bbb| 97精品超碰一区二区三区| 欧美激情一区二区| 成人妖精视频yjsp地址| 久久精品人人爽人人爽| 国模套图日韩精品一区二区 | 蜜臀久久99精品久久久久宅男| 欧美日韩国产综合视频在线观看| 亚洲欧美另类久久久精品2019 | 极品少妇一区二区| 欧美变态口味重另类| 麻豆精品蜜桃视频网站|