【发布时间】:2014-05-25 14:31:14
【问题描述】:
这仅用于学习目的。
我有两个 JTextArea-s:messagearea 和 chatarea。在messagearea中有一个随机文本,和往常一样,行用\n分隔。单击一行时,我想将该行附加到聊天区域。这是我的代码:
messagearea.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent me)
{
if (!messagearea.getText().trim().equals("")) {
int position = messagearea.viewToModel(messagearea.getMousePosition());
String[] text = messagearea.getText().split("\n");
int[] charNum = new int[text.length];
for (int i = 0; i < text.length; i++) {
charNum[i] = text[i].length() + 1;
}
int sum = 0;
for (int i = 0; i < charNum.length; i++) {
sum += charNum[i];
if (sum >= position) {
chatarea.append(text[i] + "\n");
break;
}
}
}
}
});
我想知道,是否有更简单的方法来做到这一点。
非常感谢!
【问题讨论】:
标签: java swing event-handling mouseevent jtextarea