关于取得JTextArea的文本 本人想在JTextArea输入的过程中,每次键盘按下的时候都取得它的文本,所以添加了keyTyped事件的监听,可是在keyTyped中每次取得的文本都是本次按键按下之前的文本,不知道怎样才能取得当前文本。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 添加: public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub }不要添加: public void keyTyped(KeyEvent e) { // TODO Auto-generated method stub }^_^ 谢谢你的,回答,不过你的方案不行,用keyReleased方法,在输入中文的时候会出问题的。 对其document进行监听.AbstractDocument document = JTextArea.getDocument();document.addDocumentListener() {...} 小写了一个程序,可以参考一下,能实时取得textArea中的文本.import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.text.*;import javax.swing.event.*;public class WriteObject { public static void main(String[] args) { JFrame frame = new JFrame("Text"); JTextArea textArea = new JTextArea(30, 30); textArea.setLineWrap(true); JScrollPane scroller = new JScrollPane(textArea); //不需要自己去处理键盘事件,用下面的方法就可以了. Document document = textArea.getDocument(); // 最主要的是这里 document.addDocumentListener(new DocumentListener(){ public void changedUpdate(DocumentEvent e) { System.out.println("---change----"); } public void insertUpdate(DocumentEvent e) { try {// 输入时,会输出当前textArea中的内容 Document document = e.getDocument(); System.out.println(document.getText(0, document.getLength())); System.out.println("----Insert----"); } catch (BadLocationException blex) { } } public void removeUpdate(DocumentEvent e) { try {// 删除时,输出当前textArea中的内容 Document document = e.getDocument(); System.out.println(document.getText(0, document.getLength())); System.out.println("----Remove----"); } catch (BadLocationException blex) { } } }); frame.getContentPane().add(scroller); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(500, 500); frame.setVisible(true); }} GBK-utf8-GBK转换问题 scoket 问题 新手教程第一课之接口的理解 请教高手JMF 怎样将char型的转成String型的? JAVA使用awt画点报空指针错误 请问哪里有thinking in java v2的课后练习答案下载 请教一个简单的问题,关于package的问题 哪里能下载到jprobe或OPTIMIZEIT??? 关于try catch的一个小问题,请大家指点一下 请教一个关于数字转换为字符串的问题 关于提高程序代码可维护性指数
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}不要添加:
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
^_^
AbstractDocument document = JTextArea.getDocument();
document.addDocumentListener() {
...
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
import javax.swing.event.*;public class WriteObject {
public static void main(String[] args) {
JFrame frame = new JFrame("Text");
JTextArea textArea = new JTextArea(30, 30);
textArea.setLineWrap(true);
JScrollPane scroller = new JScrollPane(textArea);
//不需要自己去处理键盘事件,用下面的方法就可以了.
Document document = textArea.getDocument(); // 最主要的是这里
document.addDocumentListener(new DocumentListener(){
public void changedUpdate(DocumentEvent e) {
System.out.println("---change----");
}
public void insertUpdate(DocumentEvent e) {
try {// 输入时,会输出当前textArea中的内容
Document document = e.getDocument();
System.out.println(document.getText(0, document.getLength()));
System.out.println("----Insert----");
} catch (BadLocationException blex) {
}
}
public void removeUpdate(DocumentEvent e) {
try {// 删除时,输出当前textArea中的内容
Document document = e.getDocument();
System.out.println(document.getText(0, document.getLength()));
System.out.println("----Remove----");
} catch (BadLocationException blex) {
}
}
});
frame.getContentPane().add(scroller);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setVisible(true);
}
}