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