java - 如何使 Jtextpane 中的某些文本不可由用户编辑?

标签 java swing jtextpane

我在我的应用程序中使用 Jtextpane。我需要添加一些标签,例如 [PKG-MEDIA] 在 jtextpane 中。 我希望用户不要编辑这个标签,而他可以在 jtextpane 中编辑其他文本。

  public static void main(String args[]) {
    JFrame j = new JFrame("Hello!");
    j.setSize(200, 200);
    JTextPane k = new JTextPane();
    k.setFont(new Font("Akshar Unicode Regular", Font.PLAIN, 17));
    k.setText("this is a test code [PKG-MEDIA]. I want to make this tag [PKG-1234] not editable");
    j.add(k);
    j.setVisible(true);
    j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

最佳答案

使用DocumentFilter。您可以检查在发生编辑的位置是否允许插入(或删除)

参见示例 this

关于java - 如何使 Jtextpane 中的某些文本不可由用户编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14211778/

相关文章:

java - 连接到数据库时 SQL 语法错误 (JAVA)

java - 使用 JTextPane 制作文本下划线字体?

java - 保存匿名内部类中生成的数据

java - 以比例字体格式化的 JTable 列中的对齐日期部分

java - JTextPane:setCharacterAttributes 的渲染器是什么?

java - 附加新字符串时,JTextPane 中的彩色文本变得困惑

java - SingleConnectionDataSource 连接在大约 40 分钟不活动后关闭

java - Vaadin:创建 TabSheets 的 ArrayList

java - 在 Spring Boot 中实现简单的异步方法调用时遇到问题

java - JTable 列未出现