2016-04-23 76 views
0

我正在製作一個文本應用程序,我可以將文本更改爲粗體(我將在未來添加更多內容)。如何檢查插入點是粗體文本還是普通文本

我把粗體選項放在JMenu中作爲JCheckBox。

我希望此複選框可以根據插入點(閃爍的線條)是粗體還是普通文本來選擇或取消選擇。就像它在Microsoft Word中一樣。從我的手機

The application

+0

你可能會提供一些代碼給我們看,而不僅僅是一個截圖嗎? – psrcek

+0

你需要根據插入符的位置確定當前樣式,像[this](http://stackoverflow.com/questions/24163370/how-to-get-style-from-jtextpane)可能會給你一個跳過點,或[這個例子](http://stackoverflow.com/questions/4360234/get-style-at-caret-position-in-a-jtextpane)或[這個例子](http:// stackoverflow。 com/questions/4819780/getting-style-from-any-offset-in-jtextpane) – MadProgrammer

+1

請確保您使用的是'StyledEditorKit'操作,見[這裏](http://stackoverflow.com/a/8534162/230513 )。 – trashgod

回答

0

快速回答: 你需要一個CaretListener添加到文檔中。觸發時,您將使用StyledDocument.getCharacterAttributes檢測字符樣式。要獲得粗體屬性,請使用StyleConstants.isBold進行檢查。在設置複選框狀態時,請小心不要觸發粗體操作。

+0

非常感謝,這工作:) –

相關問題