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

沒有留言: