我目前正在用Java编写一个消息程序。我有我输入信息的框和我发送信息后出现的另一个框,我收到回复。第二个框是JText区域,我很想知道如何让我的消息出现在框的右侧和左侧的响应(如iMessage)。我似乎无法找到如何相应地在jTextArea中定位字符串。
答案 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();
}
您将得到如下结果。
希望你得到你想要的答案。