将JText区域拆分为两个

时间:2018-05-03 17:08:34

标签: java jtextarea

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

1 个答案:

答案 0 :(得分:1)

不要使用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

希望你得到你想要的答案。