Не позволяйте программе ждать. Это JFrame
приложение, а не инструмент командной строки, поэтому не используйте мышление при написании инструментов командной строки, когда вы разрабатываете что-то, что включает окно. Представьте, что произойдет, если программа просто остановится и будет ждать после строки String input;
. Окно будет зависать, и события не будут обрабатываться, что очень плохо для пользователя.
Я предлагаю вам сделать все внутри обработчика событий для нажатия кнопки.
// at class level
String[] prompts = new String[] { "prompt1", "prompt2", "prompt3" };
int currentPrompt = 0;
// inside the event handler
String text = textfield.getText();
switch (currentPrompt) {
case 0:
// text contains the input for prompt1
case 1:
// text contains the input for prompt2
case 2:
// text contains the input for prompt3
}
Внутри корпусов коммутаторов вы можете перейти к следующему запросу:
currentPrompt++; // or set it equal to some other number if you wan to jump around
promptLabel.setText(prompts[currentPrompt]);
textField.setText("");