На ваш взгляд, некоторые проблемы с вашим кодом:
1) if ((numInput.getText().equals(1)&& numInput.getText().equals(50)))
.Здесь есть 2 проблемы.Во-первых, как указал Фабиан, это утверждение всегда будет оцениваться как ложное.Во-вторых, из вашего вопроса я думаю, что вы хотите, чтобы пользователь ввел число от 1 до 50, но здесь вы проверяете, вводят ли они 1 и 50 (что также означает, что оно всегда ложно).
2) JOptionPane.showInputDialog("Please enter again")
Поскольку ваше приложение JavaFX, вы должны использовать встроенный Dialog .
Теперь, чтобы ответить на ваши вопросы, вы можете вызвать requestFocus в текстовом поле сразу после отображения сообщения об ошибке.Ваш второй вопрос выглядит так, как будто вам нужна сетевая функциональность в приложении, что добавляет ему много сложности.Возможно, вам придется провести некоторое исследование о том, как сделать это в Java.