2012-07-20 69 views
0

我有一個JTextPane和JButton作爲我的一個項目的一部分。該按鈕爲JTextPane添加了一個項目符號點:Java - 爲什麼這個子彈點會出現問題?

HTMLEditorKit.InsertHTMLTextAction bulletAction = new 
    HTMLEditorKit.InsertHTMLTextAction("Bullet", "<li></li>", 
    HTML.Tag.BODY, HTML.Tag.UL); 
JButton bulletButton = new JButton(bulletAction); 

當單擊按鈕時,會創建項目符號。如果您使用項目符號點鍵入行,則再次單擊該按鈕,將創建2個項目符號點。但是,如果您不使用項目符號鍵輸入,並單擊該按鈕,則只會生成1。

爲什麼它有這個奇怪的創造故障?

+0

您是否有辦法在兩種情況下打印出JTextPane後面的HTML源代碼並進行比較?我認爲'InsertHTMLTextAction'可能插入額外的''或'

  • '來處理不匹配的標籤。 – mellamokb 2012-07-20 14:02:28

  • +0

    我可以將它保存爲一個HTML然後讀取,它就像出現在JTextPane中那樣出現,如果在 – Primm 2012-07-20 14:03:09

    +1

    之間有文本,則會創建2

  • 您可能不得不向供應商或HTMLEditorKit提出問題, 。聽起來像是在他們的圖書館中的錯誤。 – mellamokb 2012-07-20 14:10:41

    回答

    0

    部分原因是由於Swing依賴段落在文檔周圍進行導航和光標定位。 Swing對HTML的處理有時也是buggy,不管你信不信。除非你重寫Swing的默認行爲,否則你可以做的事情很少。

    我對here回答了一個類似的問題,以防您需要更多的細節。另請參閱Stephane在同一頁面上的其他實現答案。希望有所幫助。