java - 将 JText 区域一分为二

标签 java jtextarea

我目前正在用 Java 编写一个消息程序。我有一个用于输入消息的框,另一个框是在我发送消息并收到回复后出现的。第二个框是 JText Area,我想知道如何让我的消息显示在框的右侧,而响应显示在左侧(如 iMessage)。我似乎找不到如何相应地在 jTextArea 中定位字符串。

最佳答案

不要使用 JTextArea,而是尝试使用 JTextPane,如下所示。

JTextPane textPane = new JTextPane();
frame.getContentPane().add(textPane, BorderLayout.CENTER);
textPane.setContentType("text/html");
textPane.setEditable(false);

创建JTextPane后添加如下样式。

StyledDocument doc=textPane.getStyledDocument();
SimpleAttributeSet right =new SimpleAttributeSet();
SimpleAttributeSet left =new SimpleAttributeSet();

StyleConstants.setAlignment(right, StyleConstants.ALIGN_RIGHT);
StyleConstants.setAlignment(left, StyleConstants.ALIGN_LEFT);

现在将文本添加到 JTextPane

   try {

        doc.insertString(0, "First Line aligned left\n", left);
        doc.insertString(doc.getLength(), "Second line Aligned right\n", right);

    } catch (Exception e) {
        e.printStackTrace();
    }

您将得到如下结果。

enter image description here

希望您能得到您想要的答案。

关于java - 将 JText 区域一分为二,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50160497/

相关文章:

java - 访问 JScrollPane 中的 JTextArea

java - 如何创建一个自定义alertDialog,其中的列表绑定(bind)到onClick事件android?

java - 需要显示响应,它是 View 页面上的 html 代码

java - 如何编写这个集成测试

java - Netty 的 ChannelBuffer.read 出现奇怪的 indexOutOfBound 错误?

java - jtextarea 数组的声明问题

java - 格式化 JTextArea 的结果,使其不跳过行?

java - 在另一个线程中创建阶段时出现 IllegalStateException

java - 让 JTextArea 显示不带抗锯齿的固定宽度字体

Java:显示放入文本框小程序的不同类的结果