0
我正在製作一個文本應用程序,我可以將文本更改爲粗體(我將在未來添加更多內容)。如何檢查插入點是粗體文本還是普通文本
我把粗體選項放在JMenu中作爲JCheckBox。
我希望此複選框可以根據插入點(閃爍的線條)是粗體還是普通文本來選擇或取消選擇。就像它在Microsoft Word中一樣。從我的手機
我正在製作一個文本應用程序,我可以將文本更改爲粗體(我將在未來添加更多內容)。如何檢查插入點是粗體文本還是普通文本
我把粗體選項放在JMenu中作爲JCheckBox。
我希望此複選框可以根據插入點(閃爍的線條)是粗體還是普通文本來選擇或取消選擇。就像它在Microsoft Word中一樣。從我的手機
快速回答: 你需要一個CaretListener添加到文檔中。觸發時,您將使用StyledDocument.getCharacterAttributes檢測字符樣式。要獲得粗體屬性,請使用StyleConstants.isBold進行檢查。在設置複選框狀態時,請小心不要觸發粗體操作。
非常感謝,這工作:) –
你可能會提供一些代碼給我們看,而不僅僅是一個截圖嗎? – psrcek
你需要根據插入符的位置確定當前樣式,像[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
請確保您使用的是'StyledEditorKit'操作,見[這裏](http://stackoverflow.com/a/8534162/230513 )。 – trashgod