2012-09-08 68 views
1

如何走到這一步的工作原理:列表刻字和無序排列的問題在Java中

lA = new List(List.ORDERED, List.ALPHABETICAL); 
lA.setLowercase(List.LOWERCASE); 
lA.setPostSymbol(") "); 

但這並不:

lQL = new List(List.UNORDERED); 
lQL.setListSymbol("="); 
lQL.setPostSymbol(" "); 

在每個項目前面的第一個例子是「a」「或」b「」或「c」「等等...... 在第二個例子中,每個項目前面只有」=「。

之前有任何想法,兩件事情。首先,我不能這樣做:lQL.setListSymbol("= ");。我可以解釋它,但隨它去吧,這很簡單。其次,我嘗試將第二個字符串設置爲「k」(所以它不僅僅是空格),但輸出仍然是「=」...

發生了什麼?

回答

2

因爲您已明確指出您需要無序列表List.UNORDERED。因此,您不會爲您的物品獲得任何訂單,因此郵政符號將不會被使用。

setPostSymbol文檔:

設置了一個要添加在 列表符號數字或字母後的字符串。

而且從List源代碼:

137  /** 
    138  * In case you are using numbered/lettered lists, this String is added after the number/letter. 
    139  * @since iText 2.1.1 
    140  */ 
    141  protected String postSymbol = ". "; 

該數字或字母將只被添加爲有序列表,即List.ORDERED。如果您檢查List的構造函數的第一個參數,您會看到它接收到一個布爾值來指示列表是否被編號。由於您通過了List.UNORDERED,其值爲false,因此您將無法獲得編號列表,因此不會追加postSymbol

+0

是啊,但爲什麼不是'List.setPostSymbol'的表現?那是'List.ORDERED'功能嗎? – Karlovsky120

+0

@ Karlovsky120:的確,它是附加到訂單上的符號,例如, 1 =,2 =。既然你有一個無序列表,它不會被追加。 –

+0

謝謝! *無意義的文本通過字符限制。* – Karlovsky120

0

要設置或取消設置數字,字母或項目符號,請使用以下單一代碼來使用iText pdf或僅使用列表。

例如,列表中沒有項目符號或字符串或打印賬單通常需要的數字。

List list = new List(false, false, 50); 
list.setListSymbol(" "); 

謝謝您的查詢..