当前位置: 代码迷 >> J2SE >> java中怎么从键盘输入字符且不用回车?
  详细解决方案

java中怎么从键盘输入字符且不用回车?

热度:92   发布时间:2016-04-24 13:04:05.0
java中如何从键盘输入字符且不用回车???急
java中如何从键盘输入字符且不用回车???急

------解决方案--------------------
这个如果在命令行好像java做不到,除非你在GUI上自己模拟一个命令行窗口,这样可以做到,当值有变动,通过程序添加回车键的输入。


或者通过java调用批处理程序来实现
------解决方案--------------------
http://topic.csdn.net/t/20030416/10/1667294.html
------解决方案--------------------
//JTextField键盘监听器
public class MyKeyboardListener extends KeyAdapter{
//每次按完一个字符之后执行的操作
public void keyReleased(KeyEvent e) {
//获得监听源,此处为JTextField对象
JTextField s_textField=(JTextField)e.getSource();
//获得text field的值
String s_textValue = s_textField.getText();
if(s_textValue!=null&&s_textValue.trim().length()>0){
//测试:每按一个键显示文本框的内容
JOptionPane.showMessageDialog(new JPanel(),s_textValue);
}
}
}


如果你只是为了判断文本是否输入完毕,那就简单
1 判断对象是否失去焦点,
2 如果你是为了不按回车就输入完毕,可以通过强制让对象失去焦点,把焦点给别的对象,
3通过此方法实现 requestFocus()
------解决方案--------------------
这样可以 

public void doTest() throws IOException{
BufferedInputStream br = new BufferedInputStream(System.in);
byte [] read = new byte[1024];
StringBuffer sb = new StringBuffer();
int j = 0;
for (int i; (i = br.read(read)) != 1;){
sb.append(new String(read, 0, i));
j++;
if (j > 3){
break;
}
}
br.close();
System.out.println(sb);
}
  相关解决方案