顯示包含「使用說明」標籤的文章。顯示所有文章
顯示包含「使用說明」標籤的文章。顯示所有文章

2008年3月26日星期三

DateDisplayer使用方法

DateDisplayer是一個輔助顯示日期的工具,透過此工具,你可以把一個以毫秒為單位的日期分為各個時間單位。

建構方法:

public DateDisplayer(Date displayDate)

  • 把日期轉為毫秒

public DateDisplayer(long displayTime)

方法說明:

public long getDisplayTime()

  • 取得毫秒

public void setDisplayTime(long displayTime)

  • 設定毫秒

public int[] getDisplayComponents

  • 取得時間的各個單位,陣列大小會依時間的大小改變。
  • 元素的次序為:秒、分、時、日、月、年。
  • 30天為1個月,365日為1年。
  • 例子:
    • 陣列為{1,2,3,4,5,6}即是6年5個月4天3小時2分鐘1秒
    • time=(365L+3*30+5)*24*60*60*1000;
      display=new DateDisplayer(time);
      timeC=display.getDisplayComponents();

      timeC會是{0,0,0,5,3,1}

2008年3月14日星期五

LoadStaff.class //for loading and saving staff

Firstly, need to import data.LoadStaff class,


then

new a ArrayList for store the list of staff

Secondly, new a LoadStaff , using open() for open the staff.dat (local at the app. folder)

to get the list of staff, using getAllStaff() ;

after edited the list of staff,

must use saveAllStaff() for saving


eg:

import data.*;
ArrayList testStaffList=new ArrayList();
LoadStaff loadStaff=new loadStaff();
loadStaff.open();
testStaffList=loadStaff.getAllStaff();

testStaffList.get(i).setName("Hi");

loadStaff.saveAllStaff(testStaffList);

2008年3月10日星期一

SortableProjectList使用說明

SortableProjectList是一個可以根據特定排序條件列出Task的工具

建構方式:

public SortableProjectList(Project p, ProjectTreeListener ptl,Comparator c)

此建構方式根據Comparator的排序條件順序列出該Project內的所有Task

public SortableProjectList(Project p, ProjectTreeListener ptl,Comparator c, boolean accending)

此建構方式根據Comparator的排序條件列出該Project內的所有Task,accending為true就順序列出,反之倒序列出。

public SortableProjectList(Task t, ProjectTreeListener ptl,Comparator c)

此建構方式根據Comparator的排序條件順序列出該Task內的所有Subtask

public SortableProjectList(Task t, ProjectTreeListener ptl,Comparator c, boolean accending)

此建構方式根據Comparator的排序條件列出該Task內的所有Subtask,accending為true就順序列出,反之倒序列出。

方法說明:

  1. public void listTasks()
    1. ProjectTreeList在建構時不會即時列出所有的Task,用此方法來可以列出所有的Task

假設你有以下的Task

Project A

|

Task A

|- Task E

| |- Task F

| |- Task D

|- Task C

|- Task B

做好ProjectTreeListener: PTLTest

private class PTLTest implements ProjectTreeListener{
public void whenNodeListed(Task task) {
System.out.println(task);
}

public void whenRootListed(Project project) {
System.out.println(project);

}

public void whenRootListed(Task task) {
System.out.println(task);
}
}

TaskNameComparator:根據Task名稱順序排列

然後輸入在void main(String srgs[])輸入以下程式碼:

ptlt=new PTLTest();
ProjectTreeList ptl=new ProjectTreeList(project,ptlt);
ptl.listTasks();

上例將輸出:

Project 1

Task A

Task C

Task B

Task E

Task D

Task F

如改成

ptlt=new PTLTest();
ProjectTreeList ptl=new ProjectTreeList(taskE,ptlt);
ptl.listTasks();

上例將輸出:

Task E

Task D

Task F

ProjectTreeListener使用說明

ProjectTreeListener是用來自訂處理當ProjectTreeList列出每一個Task時對該Task的操作。

方法說明:

  1. public void whenRootListed(Project project)
    1. 當ProjectTreeList列出project時的處理方法
  2. public void whenRootListed(Task task)
    1. 當ProjectTreeList列出頂層task時的處理方法
  3. public void whenNodeListed(Task task)
    1. 當ProjectTreeList列出子task時的處理方法。不論該task的層次有多深都會經此方法列出。

如何配合ProjectTreeList使用:

首先你要做好ProjectTreeListener給ProjectTreeList使用

假設你有以下的Task

Variable Name Task Name Parent Task
taskA Task A  
taskB Task B Task A
taskC Task C Task B

和Project: Name: Project 1

做好ProjectTreeListener: PTLTest

private class PTLTest implements ProjectTreeListener{
    public void whenNodeListed(Task task) {
        System.out.println(task);
    }

    public void whenRootListed(Project project) {
        System.out.println(project);

    }

    public void whenRootListed(Task task) {
        System.out.println(task);
    }
}

然後輸入在void main(String srgs[])輸入以下程式碼:

ptlt=new PTLTest();
ProjectTreeList ptl=new ProjectTreeList(project,ptlt);
ptl.listTasks();

上例將輸出:

Project 1

Task A

Task B

Task C

如改成

ptlt=new PTLTest();
ProjectTreeList ptl=new ProjectTreeList(taskB,ptlt);
ptl.listTasks();

上例將輸出:

Task B

Task C

Project Tree List使用說明

ProjectTreeList是一個用來列出所有Task的工具,配合ProjectTreeListener自訂處理每一個Task的工作。

已知子類別:

SortableProjectList

建構方式:

  1. public ProjectTreeList(Project p,ProjectTreeListener ptl)
    1. 此建構方式列出該Project內的所有Task
  2. public ProjectTreeList(Task t,ProjectTreeListener ptl)
    1. 此建構方式列出該Task內的所有Subtask

方法說明:

  1. public void listTasks()
    1. ProjectTreeList在建構時不會即時列出所有的Task,用此方法來可以列出所有的Task