5

メインフレームからのポップアップとしてJFrameを使用しています。ここで、ユーザーは情報を入力して[OK]を押す必要があります。ただし、問題は、このサブフレームが開いたら、JOptionPanesの場合と同様に、[OK]ボタンが押されるまでプログラムが他の信号を無視するようにすることです。現在のように、ボタンをクリックしてサブフレームを数回開いて、複数のフレームを取得することができますが、これは意図されたものではありません(多くのバグが発生します)。

OKボタンを押すとtrueになるブール値で解決できますが、それを修正するためのクールな方法とは思えません。JOptionPanesからの求められている効果を見ることができるので、それを行うには他の方法が必要だと感じていますが、それに到達することはできません。

乾杯。

4

2 に答える 2

10

JDialogwithが必要ですmodal = true。Javadocから:

modal-表示時にダイアログが他のトップレベルウィンドウへのユーザー入力をブロックするかどうかを指定します。

于 2009-05-22T19:52:19.060 に答える
6

をに変更するだけJFrameですJDialog

次に、コンストラクターで次の行を使用します。

setModal(true);

その後、ダイアログボックスが閉じるまでアプリはブロックされます。

JOptionPane.showInputDialog()ユーザーが単に。を入力している場合は、を調べてくださいString

于 2009-05-22T19:58:03.573 に答える