0

我是 Swing 开发的新手,我正在创建一个 Java 应用程序,用户可以在其中加载文本文档并标记部分文本。

然后将突出显示文本的标记部分,用户可以单击标记的文本来编辑/删除标签。有没有我可以用来实现这一目标的库/类。

我已经看过了JTextArea。但据我所知,它只能显示纯文本(如果我错了,请纠正我

为了更清楚我在寻找什么:

当您在 Stack Overflow (SO) 上标记问题时,标签会用一个小框突出显示,并在标签周围突出显示。我在 Java 中寻找类似的东西。

所以,如果我添加的组件是 X,那么 X 应该能够保存纯文本和标记文本。标记的文本应该看起来像 SO 标记。

编辑

一个澄清的例子。

原文:

这是一些示例文本。

标记后,比如说样本,它应该是这样的:

带标记文本

在此处输入图像描述

那 x 基本上是一个按钮,用于删除与sample关联的所有标签。

4

3 回答 3

3

这可以帮助你jeditorpane 和 jtextpane

于 2012-06-30T04:52:45.950 回答
3

这里有一个工作示例,使用StyledEditorKit.ForegroundAction. 它还在StyledEditorKit.

图片

于 2012-06-30T05:46:12.587 回答
0

我的想法是,取一个文本字段,当我们双击它设置为可编辑然后写入标签并按 Enter .. 然后更新标签,以突出显示使用 setBackground,setForeground 和文本字段

JTextField jt=new JTextField("tag");

将其设置为

jt.setEditabe(false);

将 MouseListener 添加到 jt 查看此 LINK鼠标侦听器

jt.addMouseListener(this);

在 mouseClicked 事件中编写代码,如果我们双击它将设置为可编辑状态

public void mouseClicked(MouseEvent e) {
    int count=0;
    count=e.getClickCount();
    if(count==2)
    {
        jt.setEditable(true);
        count=0;

    }

}

然后编辑标签...做其余的代码,即通过使用键绑定按回车更新标签,请参阅此链接

于 2012-06-30T04:46:41.043 回答