【问题标题】:Get font size of selected text in JTextPane获取 JTextPane 中选定文本的字体大小
【发布时间】:2012-09-03 16:50:09
【问题描述】:

在我的文本编辑器中,我提供了通过 JComboBox 和 StyledEditorKit 更改文本的选项。唯一的问题是,一旦我在组合框中选择了一个大小(它会更改选定的文本),然后选择新的文本选择,组合框中的值与之前的选择保持一致,而不管实际大小。

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

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

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);
      }
});

“sizes”只包含从 8 到 112 以 4 为增量的整数。

非常感谢任何帮助。

【问题讨论】:

  • 如需更好的帮助,请尽快发帖SSCCE

标签: java swing fonts jcombobox jtextpane


【解决方案1】:

提到的帖子意味着您应该将 CaretListener 添加到您的编辑器中。当更改SSELECTION时,CARET位置更新并调用侦听器。然后更新套件的 InputAttributes。您可以访问属性并获取当前插入符号位置(选择)的字体大小。

【讨论】:

  • 好的,当我这样做时,它会返回一个字符串,上面写着“size = 24”或任何大小。我不能使用它,因为它会将 ComboBox 值设置为“size = 24”,而不是 24。我该如何解决这个问题?
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2016-12-16
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 2011-06-28
    相关资源
    最近更新 更多