如何在java中实现编号序列

时间:2016-04-25 07:43:39

标签: java ms-word swt

我正在研究SWT应用程序,我有在我的应用程序中实现MS Word编号序列的功能。

用户可以随时修改现有序列,以便整个结构相应调整,我应该将其保存在数据库中。

请看上面的截图。

我正在考虑字符串操作。但似乎它不是最佳的。请建议我最好的方式...

我能够像父子关系一样创建树结构。我的问题是如何实现编号序列,如果用户更改了如何调整整个树的级别?

用户可以更改数字序列,如

在提高等级之前

backgroundColor

提高等级后的状态

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

同样,用户也可以降低等级。

2 个答案:

答案 0 :(得分: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 contents将用于跟踪较低级别的孩子Node

答案 1 :(得分:0)

也许看看Composite模式。它允许您处理元素组,如单个元素。基本结构是包含单个节点或节点列表的树,您可以使用它来生成基于树和列表位置的编号。