如何在JTextPane中删除选定的文本? (Java)的

时间:2014-05-02 01:08:53

标签: java swing jtextpane strikethrough

标题说明了一切。假设我有一个右键菜单,其中包含" Strikethrough选择的文字"选项。当我在jtextpane中选择了一些文本时,右键单击 - > " Strikethrough选择了文字" ,并且选定的文本会受到严重影响。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

Swing文本组件使用Actions来提供文本窗格的各种格式设置功能。<​​/ p>

以下是UnderlineAction的{​​{1}}代码。

StyledEditorKit

所以基本上你需要创建自己的&#34; StrikeThroughAction&#34;通过替换&#34;下划线&#34; StyleConstants方法使用&#34;删除线&#34; StyleConstants方法。

创建Action后,您可以通过使用Action创建JMenuItem或JButton来使用Action。单击该组件后,将通过属性添加到所选文本中。

答案 1 :(得分:0)

右键单击操作

objJTextPane.setContentType( "text/html" );
String[] args = objJTextPane.getText().split(objJTextPane.getSelectedText());
objJTextPane.setText("<strike>" + objJTextPane.getSelectedText() + "</strike>"+ args[1].toString());

在拆分字符串时应用你的逻辑。