Я не работал с Java с колледжа, но если вы читаете из командной строки, то вы используете System.in.read () или что-то подобное. Поскольку это блокирующие вызовы методов, ваше приложение никогда не будет уведомлено о новом вводе до нажатия клавиши ENTER.
Если я совершенно неправ, пожалуйста, дайте мне знать.
Возможно, вам лучше использовать простой (возможно, даже скрытый), который может принимать пользовательский текст и прослушиватель событий для элемента пользовательского интерфейса, который считывает его в текстовый процессор приложения.