0

我正在制作一个相当简单的文本编辑器,我对我的样式按钮有疑问。当我突出显示文本并单击“粗体”按钮时,文本按预期加粗,但我的选择不再可见。我仍然可以取消加粗、斜体或下划线,但您无法看到选择的内容。所以,我想知道是否有一个设置可以让我点击按钮,但保留我的选择?我尝试了 JMenuItem 而不是 JButton,这似乎有效,但它使我的工具栏看起来很糟糕。下面的示例代码。

//frame and pane creation up here
JToolBar tool = new JToolBar();
JToggleButton boldButton = new JToggleButton("Bold");
boldButton.addActionListener(new StyledEditorKit.BoldAction());
tool.add(boldButton);

任何帮助表示赞赏。

4

2 回答 2

6

所以,我想知道是否有一个设置可以让我点击按钮,但保留我的选择?

boldButton.setFocusable( false );
于 2010-11-21T01:13:50.463 回答
1

正如您所注意到的,选择仍然存在,但单击工具栏按钮会从文本窗格中移除焦点并隐藏选择。您需要使用 重新设置焦点requestFocus。但是,您需要编写自己的动作侦听器来添加焦点代码 - 您可以扩展BoldAction来执行此操作。

于 2010-11-21T00:49:30.603 回答