0

在我的文本编辑器中,我提供了通过 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);
      }
});

"sizes" 只包含从 8 到 112 的整数,增量为 4。

任何帮助是极大的赞赏。

4

2 回答 2

3

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

于 2012-09-03T08:50:09.583 回答
1

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

于 2012-09-03T08:46:54.613 回答