我正在研究SWT应用程序,我有在我的应用程序中实现MS Word编号序列的功能。
用户可以随时修改现有序列,以便整个结构相应调整,我应该将其保存在数据库中。
请看上面的截图。
我正在考虑字符串操作。但似乎它不是最佳的。请建议我最好的方式...
我能够像父子关系一样创建树结构。我的问题是如何实现编号序列,如果用户更改了如何调整整个树的级别?
用户可以更改数字序列,如
在提高等级之前
backgroundColor
提高等级后的状态
1. Main chapter 1
1.1. Sub chapter1
1.2. Sub chapter 2
2. Main chapter 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模式。它允许您处理元素组,如单个元素。基本结构是包含单个节点或节点列表的树,您可以使用它来生成基于树和列表位置的编号。