public class aaa { String setword = null;
JFrame f = new JFrame("客户端");
JTextField text = new JTextField(20);
public aaa(){
text.addKeyListener(new KeyListener(){ public void keyPressed(KeyEvent arg0) {
// TODO 自动生成方法存根
} public void keyReleased(KeyEvent arg0) {
// TODO 自动生成方法存根
} public void keyTyped(KeyEvent arg0) {
// TODO 自动生成方法存根
if (arg0.getKeyChar()=='\r') {
System.out.println(text.getText());
}
}});
f.add(text,BorderLayout.NORTH);
f.setSize(300, 400);
f.setLocation(100,100);
f.setVisible(true);
}public static void main(String[] args) {
aaa a = new aaa();
}
}
一个Frame 里 有个text 想在按回车的时候把text里的内容打印到eclipse的console里
但是if (arg0.getKeyChar()=='\r')这句有问题 我换成 'a' 'T'这些都好使 但是回车符不行 我换成ASCII码 13 也不行
该怎么改啊?
import java.awt.BorderLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;import javax.swing.JFrame;
import javax.swing.JTextField;public class aaa { String setword = null;
JFrame f = new JFrame("客户端");
JTextField text = new JTextField(20); public aaa() { text.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent arg0) {
// TODO 自动生成方法存根 } public void keyReleased(KeyEvent arg0) {
// TODO 自动生成方法存根 } public void keyTyped(KeyEvent arg0) {
// TODO 自动生成方法存根
if (arg0.getKeyChar() == KeyEvent.VK_ENTER) { //这里
System.out.println(text.getText());
}
}
}); f.add(text, BorderLayout.NORTH); f.setSize(300, 400);
f.setLocation(100, 100);
f.setVisible(true); } public static void main(String[] args) {
aaa a = new aaa(); }
}
// TODO 自动生成方法存根
if (arg0.getKeyChar()==KeyEvent.VK_ENTER) {
System.out.println(text.getText());
}
}
另外, 我觉得用KeyPressed的方法比较好(表示回车键被按下).用KeyTyped好象有的时候不是特别好使