2016-08-30 7 views
0

Dialog APIのDialogDescriptorによって提供されるコンストラクタの中には、最初のパラメータとしてJPanelを受け入れるものがあります。ボタンを持つことは可能ですかこのパネルは、ダイアログのクローズをトリガーし、戻り値を指定しますか?DialogDescriptorを閉じて、その中のボタンを使って値を設定する

私は、1つのディレクトリからファイルをコピーするときにMs Windowsがコピー/破棄/コピーの両方のオプションを提供するのと同じように、このような "解決の競合"ダイアログを作成したいと思います。 3つのボタンの1つを押すとダイアログが閉じられますが、実際にはクローズオプションとしてリストされていません。終了オプション自体は「スキップ」と「キャンセル」で構成されます。

+0

[this constructor](http://bits.netbeans.org/dev/javadoc/org-openide-dialogs/org/openide/DialogDescriptor.html#DialogDescriptor%28java.lang)はテストできません。 Object、%20java.lang.String、%20boolean、%20java.lang.Object [)また、最後のオプションでは、使用するオプションを指定することができます。おそらく、単に '' setOptions() '](http://bits.netbeans.org/dev/javadoc/org-openide-dialogs/org/openide/NotifyDescriptor.html#setOptions-java.lang.Object: A-)。 –

+1

@LukasRotterドキュメントに記載されているように、それらの 'options'は、ダイアログの**ボタン行**にボタンとして表示されます(ボタン行自体は、パネル外のダイアログの一部です)。それはまさに私が "スキップ"と "キャンセル"オプションを設定する方法です。私が最初に尋ねたのは、パネル内の**ボタンを押してダイアログを閉じる方法です。 – ddanurwenda

答えて

0

おそらく、あなたは他の方法を考えてみることができます:それ以外のダイアログを操作するパネルを作成すると、不要な依存関係が生じます。閉じるときにボタンがクリックされたダイアログをパスさせ、パネルで次のロジックを実行するのはなぜですか?あなたは "スキップ"がクリックされたとき何かをすることを目的としています。だから、パネルがダイアログを結合しないようにするのではなく、クリックしたものをパネルに伝えるようにしてください。

関連する問題