2011-01-28 4 views
3

私は、ユーザーがアイテムのリストから選択するためのコンボボックスにコンボボックスコンポーネントを配置しています。ドロップダウンリストがクリックされても、ポップアップがレイヤーパネルに表示されるため、JPopupMenuはコンポーネントの他の部分の後ろに隠されます。JPopupをGlasspaneに移動する方法

コンポーネントを使用してガラス板にポップアップ表示を行う方法を知りたいと思います。フレームが初期化される前にJPopupMenu.setDefaultLightWeightPopupEnabled(false)を試してみましたが、ポップアップがどこにも表示されないように見えます。

jlayeredpaneの代わりにglasspaneにポップアップを表示させる方法についてのアドバイスが参考になります。私は検索しましたが、ほとんどの反応は、ガラス板に取り込まれたイベントを押し下げることに関連しているようです。

私は実際にはJComboBoxを拡張するJideAutoCompletionComboBoxを使用しています。

質問の編集:私はシステム全体が(私のアプリはタブ上の作業領域の束を持っています)ポップアップタイプのシステムを持っています。私はこれにモーダルダイアログを使わず、ガラス板を使うだけです。コンポーネントは基本的にメッセージを作成するためのものですが、サブコンポーネントの1つはコンボボックスです。効果的にポップアップのようなコンポーネント全体を考えることができますが、ガラスパネルを使用します。

+0

申し訳ありませんが、私が何かを逃しましたか? –

+1

なぜモーダルダイアログを使わないのか分かりません。ボーダーを見たくない場合は、ダイアログを非装飾にすることができます。 – camickr

+0

まあ、正直言って私はモーダルダイアログが恐ろしい笑だと思う。私は、ユーザーが押しつぶすことによって戸惑うことのない小さな浮遊ウィンドウが気に入らない。私は彼らが私が望むようにブロックすることを知っているが、私は別のウィンドウが好きではない。今、それを制限する方法があると私は気づいていない私は知ってうれしいだろう。 –

答えて

3

私は、ユーザーが押しつぶすことによって戸惑うことのない小さな浮遊ウィンドウが嫌いです。なぜ、あなたのコンボボックスでのglassPaneである:

JDialog dialog = new JDialog(...); 
dialog.setUndecorated(true); 
+0

k、それを試してみてください。トレイルをブラウズするときにはそれほど目立たなかった。私はちょうど多くのポップアップを混乱させることはありません:P私はそれを試してみると、後にクレジットのために戻ってくる:) –

関連する問題