javaでアプリケーションを作っていて、ダイアログを表示しようと調べみたら、
javax.swing.JDialogというクラスが見つかったのだが、もうひとつ、javax.swing.JOptionPaneを使い、
JOptionPane#show○○Dialogを使って実装することも出来る。
結局、JDialogは使わず、JOptionPaneの方を用いたので、細かい比較などは分からないが、
2つの違いについて感じたことを書く
○JDialog
・モーダルもモーダレスも両方できる
・自分でコンポーネントをaddすることによって、表示の細かな設定が出来る
○JOptionPane
・常にモーダル
・YesNoやOKCancelなど、よく使うものはデフォルトであり、簡単に作れるが、拡張性が薄い(気がする
・どのボタンが押されたかなどは、返り値として取得できる。
結局、単純なダイアログならJOtionPaneの方が楽ですよ的なノリ
モーダルは、そのダイアログが閉じられるまで、元のFrameにフォーカスできない状態のこと
<参考>
・ダイアログ Swing入門
・JavaTM Platform, Standard Edition 6 API 仕様
javax.swing.JDialogというクラスが見つかったのだが、もうひとつ、javax.swing.JOptionPaneを使い、
JOptionPane#show○○Dialogを使って実装することも出来る。
結局、JDialogは使わず、JOptionPaneの方を用いたので、細かい比較などは分からないが、
2つの違いについて感じたことを書く
○JDialog
・モーダルもモーダレスも両方できる
・自分でコンポーネントをaddすることによって、表示の細かな設定が出来る
○JOptionPane
・常にモーダル
・YesNoやOKCancelなど、よく使うものはデフォルトであり、簡単に作れるが、拡張性が薄い(気がする
・どのボタンが押されたかなどは、返り値として取得できる。
結局、単純なダイアログならJOtionPaneの方が楽ですよ的なノリ
モーダルは、そのダイアログが閉じられるまで、元のFrameにフォーカスできない状態のこと
<参考>
・ダイアログ Swing入門
・JavaTM Platform, Standard Edition 6 API 仕様

コメントする