如何检查插入点是在粗体还是普通文本上

How to check if the insertion point is on a bold or normal text

我正在制作一个文本应用程序,我可以将文本更改为粗体(以后我会添加更多)。

我将粗体选项作为 JCheckBox 放在 JMenu 中。

我希望根据插入点(闪烁线)是在粗体还是普通文本上来选中或取消选中此复选框。就像在 Microsoft Word 中一样。

The application

我的 phone 的快速回答: 您需要将 CaretListener 添加到文档中。触发时,您将检测带有 StyledDocument.getCharacterAttributes 的字符样式。要获得粗体属性,您可以使用 StyleConstants.isBold 检查它。小心不要在设置复选框状态时触发您的大胆操作。