您好我正在使用eclipse,我在Windows 7系统上工作。 我想用BufferedReader类从键盘上读一些字符。 我在Thread类中使用该代码:
public void run()
{
int ch;
while(!done)
{
try
{
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
ch = keyboard.read();
System.out.println(ch);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
//System.out.println(s);
System.out.println("petla");
}
}
问题是我运行线程后(它进入循环)我按下一些按钮并确认使用enter(\ n)没有任何事情发生。请帮忙
答案 0 :(得分:1)
您正在丢失缓冲数据。不要为每个角色创建新的BufferedReader
。使用在循环之前创建的同一个。
答案 1 :(得分:0)
现在我明白了问题所在。有人认为当我按下它时会立即缓冲,但我必须将它写入控制台。我需要读取未输入的按下的按钮。有人建议我初始化JTextField,并使用焦点读取符号。但这是优雅的分辨率吗?
答案 2 :(得分:0)
确定我的问题。我有一个窗口应用程序看起来像这样: http://img846.imageshack.us/img846/5859/scaning.jpg 我需要按下一些按钮(不是在JTextField中聚焦),并在此基础上为JTable添加一些位置。但是当我打开我的应用程序时,我无法将标志添加到控制台。这很简单。我只是想打开我的全屏程序,输入一些字符,并在此基础上为JTable添加位置。我不能说清楚。感谢回应。