Я хочу, чтобы мой класс пользовательских сообщений, чтобы вести себя так же, как JOptionPane в следующем фрагменте кода:Дождитесь результата сообщения от пользователя, как JOptionPane
int reply = JOptionPane.showConfirmDialog(
null,
"Is the weather beautifull?",
"Question",
JOptionPane.YES_NO_OPTION
);
if (reply == JOptionPane.YES_OPTION) {
// do something in response to yes...
} else {
// do something in response to no...
}
Так что я точно хочу, что я создаю мой собственный объект сообщения, показать его и реагировать на нажатие кнопки делается пользователем в псевдокоде следующим образом:
show my question message;
wait for user button press without blocking UI thread;
do something depending on which button the user pressed;
Я пытался serverall вещи, чтобы иметь мое окно сообщений действует как JOptionPane с Futures, Wait/Notify и т. Д., Но я всегда оказывался в блокировке моей пользовательской нити.
Что такое секрет JOptionPane
? :)
Благодарим вас за ответ. Я понимаю, что JoptionPan как диалог блокирует все другие пользовательские ввода, но как это делается, что поток ждет ответа? Или лучше спросить, как я могу заставить мой поток ждать результата без блокировки нити ui? – alex
Хорошо, я решил это, вот пример кода для моего решения: http://open-sourced.de/show_article.php?articleid=61 – alex