2010-09-19 64 views
1

我正在開發一個需要能夠將JComponents插入JTextPane以及普通文本的項目。目前,我正在使用JTextPane.insertComponent(Component)添加JComponents,但是,它們似乎偶爾添加,沒有真正的組織。我終於明白,它將它插入到克拉所在的位置,所以我試着在文本的末尾設置它。然而,當我執行:將內聯JComponents插入到JTextPane中?

int len = txtConsole.getText().length(); 
txtConsole.setCaretPosition(len - 1); 

我得到一個錯誤,該位置是無效的。將JComponents插入到JTextPane的最後一行的末尾是否有一種簡單或更好的方法?

另外,如果以上可能,是否有方法來改變JComponent與文本的其餘部分內聯的位置,例如居中內聯?

回答

1

下面的代碼對我的作品:

int offset = textPane.getDocument().getLength(); 
textPane.setCaretPosition(offset); 
textPane.insertComponent(...); 

確保你的代碼是在美國東部時間執行。

如果你還有其他問題,然後發佈你的SSCCE演示問題。

+0

不幸的是,http://sscce.org/最近似乎沒有反應; http://pscode.org/sscce.html是一個替代方案。 – trashgod 2010-09-19 04:53:49

+0

這似乎工作,謝謝。 – 2010-09-19 05:00:36

+0

@trashgod,謝謝。 – camickr 2010-09-19 05:06:04