2016-04-25 63 views
-1

我正在研究SWT應用程序,我有在我的應用程序中實現MS Word編號序列的功能。如何在java中實現編號序列

用戶可以在任何時候修改現有序列,以便整個結構應該相應地進行調整,並將其保存到數據庫中。

請看上面的截圖。

我在考慮字符串操作。但似乎不是最理想的。請建議我最好的方法...

我能夠創建樹狀結構,如父子關係。我的問題是如何實現編號順序,如果用戶更改級別如何調整整個樹?

用戶具有提高水平

1. Mian chapter 1 
    1.1. Sub chapter 2 
    2. Sub chapter 1 
    3. Main chapter 2 

同樣用戶也可以降低水平後改變像

數序列水平日益提高之前

1. Main chapter 1 
    1.1. Sub chapter1 
    1.2. Sub chapter 2 
    2. Main chapter 2 

狀態的可能性。

+3

從您的任務可以看到,數據模型是「樹」。你有根節點和子節點,連接到根節點,孫節點,連接到它們的父節點等等。在您的應用程序中實現此數據模型並根據每個節點的位置構建數字。 – 2016-04-25 08:01:29

+1

如果您可以在迄今爲止所做的工作中顯示一些代碼,這將會很有幫助。 – Olantobi

回答

0

鑑於內容模仿樹結構的表,你可以做Node對象,像這樣的鏈表,

class Node { 
    int index; 
    String text; 
    Node next; 
    Node contents; 
} 

然後,你可以擁有的東西,看起來像這樣:

head -> [1|"Main Chapter 1"](1) -> [2|"Main Chapter 2"](2) -> ... 
       ^     ^
       |      | 
       |    [1|"Sub Chapter 2.1"](2.1) -> [2|"Sub Chapter 2.2"](2.2) -> ... 
       | 
     [1|"Sub Chapter 1.1"](1.1) -> [2|"Sub Chapter 1.2"](1.2) -> ... 
             ^
              | 
            [1|"Sub Chapter 1.2.1"](1.2.1) -> ... 

next將被用於跟蹤其他Node S的在同一水平
contents將被用來讓孩子的軌道0在較低的水平

0

也許看看Composite模式。它允許您處理單個元素的組。基本結構是一棵包含單個節點或節點列表的樹,您可以使用它來基於樹和列表位置生成編號。