java - JEdi​​torPane、JTextPane 的 JTextArea 中的 HTML

标签 java swing jtextfield jtextarea jeditorpane

是的,我已经发现 JTextArea 或 JTextField 不支持 HTML。

我想将文本添加到“屏幕”(例如 JTextArea),然后继续向其附加文本。

我尝试使用 JTextArea,效果非常好,但它似乎不支持格式化...

所以我尝试使用 JEditorPane 的子类 JTextPane,但是这个没有它的附加功能...

有人可以指导我如何轻松地将文本附加到 JTextPane 或格式化 JTextArea 的正确方向吗?

或者如果有其他更好的组件,请告诉我:)

更新方法由主体调用,该主体为多个对象执行此操作。这只是给出了一堆格式化的字符串,然后放入一个漂亮的框架中向用户显示。

@Override
public void update(String channel, String sender, String message) {

    if(channel.equals(this.subject) || sender.equals(subject)){
        StringBuffer b = new StringBuffer();
        b.append("<html>");
        b.append("<b>");
        b.append("</b>");
        b.append("[");
        b.append(sender);
        b.append("] : ");
        b.append("</b>");
        b.append(message);
        b.append("</html>");
        b.append("\n");

        chatArea.append(b.toString());
    }

最佳答案

Can someone guid me in the right direction how I easily can append text to a JTextPane

Document doc = textPane.getDocument();
doc.insertString(doc.getLength(), "some text", green);

并且使用属性而不是 HTML,它更容易。例如,您可以将“绿色”属性定义为:

SimpleAttributeSet green = new SimpleAttributeSet();
StyleConstants.setForeground(green, Color.GREEN);

关于java - JEdi​​torPane、JTextPane 的 JTextArea 中的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5915061/

相关文章:

java - Java 10 上的 Swing 问题

java 。 GUI WindowBuilder 通过单击按钮从 JTextField 读取

java - JTable 过滤数据无法正常工作

java - 当直径堆栈重新启动时如何处理请求/应答/ session ?

java - 扩展简单 GUI 的功能

java - JFrame 表现得像 JDialog?

java - KeyListener 的正确使用方法是什么?

JavaFX Web View : custom cursors not working?

java - 使用ajax下载生成的excel文件

java - 如何解析字符串以给出特定的文本片段