Java 获取JTextPane中选定文本的字体大小

Java 获取JTextPane中选定文本的字体大小,java,swing,fonts,jcombobox,jtextpane,Java,Swing,Fonts,Jcombobox,Jtextpane,在我的文本编辑器中,我提供了通过JComboBox和StyledEditorKit更改文本的选项。唯一的问题是,一旦我在组合框中选择了一个大小(并且它更改了所选文本),然后选择了一个新的文本选择,组合框中的值将保持与上一个选择相同,而不管实际大小如何 我看到了帖子,但我不太明白给出的答案 这是我用来更改字体的代码 JComboBox<?> fontSizeCombo = new JComboBox<Object>(sizes.toArray()); fontSizeCom

在我的文本编辑器中,我提供了通过JComboBox和StyledEditorKit更改文本的选项。唯一的问题是,一旦我在组合框中选择了一个大小(并且它更改了所选文本),然后选择了一个新的文本选择,组合框中的值将保持与上一个选择相同,而不管实际大小如何

我看到了帖子,但我不太明白给出的答案

这是我用来更改字体的代码

JComboBox<?> fontSizeCombo = new JComboBox<Object>(sizes.toArray());
fontSizeCombo.setFocusable(false);
fontSizeCombo.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
          new StyledEditorKit.FontSizeAction("myaction-", (int) ((JComboBox<?>) e.getSource()).getSelectedItem()).actionPerformed(e);
      }
});
JComboBox-fontSizeCombo=newjcombobox(size.toArray());
fontSizeCombo.setFocusable(假);
fontSizeCombo.addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件e){
新的StyledEditorKit.FontSizeAction(“myaction-”,(int)((JComboBox)e.getSource()).getSelectedItem()).actionPerformed(e);
}
});
“大小”仅包含8到112之间的整数,增量为4


非常感谢您的帮助。

将插入符号监听器添加到调用组合框更新的文本窗格。

将插入符号监听器添加到调用组合框更新的文本窗格。

上述帖子意味着您应该向编辑器添加一个插入符号监听器。当选择被更改时,插入符号位置更新并调用侦听器。然后更新工具包的输入属性。您可以访问属性并获取当前插入符号位置(选择)的字体大小。

提到的帖子意味着您应该在编辑器中添加一个插入符号列表。当选择被更改时,插入符号位置更新并调用侦听器。然后更新工具包的输入属性。您可以访问属性并获取当前插入符号位置(选择)的字体大小。

要获得更好的帮助,请尽早发布。要获得更好的帮助,请尽早发布。如果我这样做,它将返回一个字符串,表示“size=24”或任意大小。我不能使用它,因为它会将ComboBox值设置为“size=24”,而不是24。我怎样才能绕过它呢?好的,当我这样做时,它会返回一个字符串,上面写着“size=24”或者其他任何大小。我不能使用它,因为它会将ComboBox值设置为“size=24”,而不是24。我怎样才能避开这个问题?