Я ищу направление относительно того, как заменить System.in
на InputStream
, который читается непосредственно с JTextField
.Установка System.in для чтения из JTextField
До сих пор мой подход в значительной степени был проб и ошибок. В настоящее время у меня есть;
JTextField input = new JTextField();
System.setIn(new InputStream() {
int ptr = 0;
@Override
public int read() throws IOException {
int c;
try {
c = input.getText().charAt(ptr);
}
catch (IndexOutOfBoundsException ioob) {
return 0;
}
ptr++;
return c;
}
});
Это дает NoSuchElementException
как при попытке считывания, когда вход пуст, и я предполагаю, что никогда не может найти разделитель.
Какой подход мне не хватает?
Почему бы просто не использовать 'KeyListener' для обнаружения каждого введенного ключа? – evanwong
@evanwong Можете ли вы предложить, как это может быть связано с входным потоком? – Jivings