我正在开发一个编辑器,其中有一个字体大小的组合框。用户可以使用它来更改文本大小。
我还实现了插入符号监听器,它告诉我所选文本的大小并相应地更新组合框。现在,如果用户选择两种不同大小的文本,我想在 Combobox 中填充空白值。但我无法用 Caret 监听器做到这一点,因为它给了我第一个文本的大小。
例如:如果我的文字是“HI”。这里 H 的大小为 12,而 I 的大小为 22。现在,当我选择“HI”时,插入符监听器给了我 12 或 22 的值。
这是示例代码:
StyledDocument doc = pane.getStyledDocument();
MutableAttributeSet fontSizeStyle = ((StyledEditorKit)pane.getEditorKit()).getInputAttributes();
int fontSize = StyleConstants.getFontSize(fontSizeStyle);