Я хочу, чтобы мой собственный класс сообщений вел себя так же, как 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;
Я перепробовал множество вещей, чтобы мое окно сообщений действовало как JOptionPane с Future, Wait/Notify и т. д., но всегда заканчивалось тем, что я блокировал свое окно. Поток пользовательского интерфейса.
В чем секрет этого JOptionPane
? :)