是的,我已经发现 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 - JEditorPane、JTextPane 的 JTextArea 中的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5915061/