У меня проблемы с использованием метода readInput() из пакета lanterna. Мой кодекс
Terminal terminal = TerminalFacade.createSwingTerminal();
terminal.enterPrivateMode();
Key key = terminal.readInput();
if(key.getKind()==Key.Kind.Escape){
terminal.moveCursor(6, 6);
terminal.putCharacter('X');
не позволяет мне делать какие-либо входные данные в терминале и поэтому создает исключение nullpointer при проверке key.getKind. У кого-нибудь есть идея, почему это происходит?
Метод readInput
не блокирует. Это означает, что он не будет висеть до тех пор, пока не будет найден вход (например, Scanner
). Таким образом, вам понадобится ваш собственный "метод блокировки", который ждет ввода:
Key key = terminal.readInput();
while(key == null) {
Thread.sleep(5); //whatever low value
key = terminal.readInput();
}
// here key will not be null, so no NullPointerException