私は Java アプレット アプリケーションに取り組んでいます。私の目標は、confirmDialogWindow のような別のポップアップ ウィンドウでのユーザーの選択によって決定されるメソッドで何かを行うかどうかを行うことです。現在、ポップアップ ウィンドウのホット キーが機能しないという問題が発生しています。
ポップアップウィンドウを開くのはUI更新スレッドであるためだと理解しています.invokeLaterやinvokeAndWaitなどを試してイベントを並べると、ホットキーが機能します。しかし、私のメソッドは、このポップアップウィンドウからの戻り値に依存して、どの制御フローに進むかを決定しています.invokeLaterメソッドにある場合、適切な戻り値を取得できません.
この問題を解決するにはどうすればよいですか?
public class SimpleDialogFrame extends JFrame {
// Using a standard Java icon
private Icon optionIcon = UIManager.getIcon("FileView.computerIcon");
// Application start point
public static void main(String[] args) {
JFrame frame = new JFrame("Sample frame");
frame.setSize(400, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
int confirmNo =0 ;
// Use the event dispatch thread for Swing components
// EventQueue.invokeLater(new Runnable()
// {
// public void run()
// {
// create GUI frame
confirmNo = JOptionPane.showConfirmDialog(frame,
"Is this comfirmed?", "This is the dialog title",
JOptionPane.WARNING_MESSAGE, JOptionPane.YES_NO_OPTION);
// }
// });
if (confirmNo == 0) {
// do something
System.out.println("Clicked OK button");
}
else
{
// do something
}
}
}