Я создаю приложение обратной связи, оно принимает отзывы пользователей, у него есть несколько вопросов от пользователя. Согласно моему подходу класс Feedback имеет метод runfeedback (), когда этот метод вызывается, он создает объект класса Question, передавая вопросы и ответы на них. В классе вопросов есть метод generateUI (), который должен возвращать ответ, данный пользователем. Это возвращаемое значение собирается с помощью объекта класса Feedback. Вот вкратце вышеупомянутый случай:
public class Feedback{
public void runfeedback(){
//Array list to collect answers from the user
List<String> answerList = new ArrayList<>();
//Creating a question from question class
Question q1 = new Question("What is your rating for the
program?",new String[]{"1","2","3","4","5"});
//Creating a question from question class
Question q2 = new Question("How do you think about the speaker?",new String[]{"Bad","Good","Very Good","Excellent"});
answerList.add(q1.generateUI());// Here the UI is generated dynamically according to the above-given parameters in the question object and wait for the user to respond and not going to the next line...
answerList.add(q2.generateUI());
//Do other stuffs or create new questions !
....
}
}
Согласно приведенному выше коду я хочу перейти к следующему вопросу только после того, как пользователь введет свой отзыв о пропущенных. Для этого у меня есть две кнопки в пользовательском интерфейсе, сгенерированные методом generateUI (), этот метод просто генерирует новое окно с набором элементов в соответствии с вопросом. Еще одна вещь заключается в том, что мне нужно добавить таймер к каждому из этих вопросов и не вызывать следующую функцию generateUI () до истечения времени ожидания.
Как мне добиться этого ожидания ввода данных пользователем и таймера?
Здесь пользовательский интерфейс, который я динамически генерировал из метода generateUI () ... использовал свинг для достижения этой цели ...