【问题标题】:Inserting inline JComponents into a JTextPane?将内联 JComponents 插入到 JTextPane 中?
【发布时间】:2010-09-19 04:16:06
【问题描述】:

我正在开发一个项目,该项目需要能够将 JComponents 与普通文本一起插入到 JTextPane 中。目前,我正在使用 JTextPane.insertComponent(Component) 添加 JComponent,但是,它们似乎是零星添加的,没有真正的组织。我终于发现它在克拉所在的地方插入它,所以我尝试将它设置在文本的末尾。但是当我执行时:

int len = txtConsole.getText().length();
txtConsole.setCaretPosition(len - 1);

我收到一条错误消息,指出该位置无效。是否有一种简单或更好的方法可以将 JComponents 插入到 JTextPane 最后一行的末尾?

另外,如果上述情况可行,有没有办法改变 JComponent 与其余文本内联的位置,例如居中内联?

【问题讨论】:

    标签: java text insert components jtextpane


    【解决方案1】:

    以下代码适用于我:

    int offset = textPane.getDocument().getLength();
    textPane.setCaretPosition(offset);
    textPane.insertComponent( ... );
    

    确保您的代码在 EDT 上执行。

    如果您还有其他问题,请发布您的 SSCCE 以说明问题。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多