2012-01-22 12 views
1

JPanelのサイズが200 x 200で、ドロップダウンリストが200 x 200 JPanelの外側に拡張できるカスタムコンボボックスタイプのコンポーネントがあるとします。コンテナの範囲を超えて拡張できるカスタムコンポーネント - どのように?

私が直面している問題は、ドロップダウンがコンテナの範囲外にペイントされないか、ドロップダウンに応じてコンテナのサイズが決まることです。

コンポーネントをコンテナの境界を越えて拡張できるコンテナにコンポーネントを追加するにはどうすればよいですか? Java JComboBoxは内部でどのように動作しますか?

答えて

3

ドロップダウンにはJPopupMenuと入力してください。 JPopupMenuは内部でペイントを処理します。

+0

のいずれかからのリターンをであることができるsetSizePointJWindowを設定していません。私はあなたの答えをJ2SE 7を指すように編集しました。最新のドキュメントへのリンクを得るためのヒントについては、[ポイント2の利点](http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7090875)を参照してください。 。 –

1

あなたはここに掲載のスクリーンショットaplicationの開発を継続した場合、あなたはfull_workaroundのために、一例として、JCalendarSwingXの最高のいくつかをJWindow(装飾のないトップレベルコンテナ)を使用する方法を探すためには、約setVisible/toFront/FocusSubsystem /そこfocusGained/focusLost

に何ら問題は、それはのJavaDocの最新バージョンにリンクするのが最善のJComponent

+0

JWindowを使用すると、デコレーションされていないJFrameを使用するとどのようなメリットがありますか? – rtheunissen

+0

その2つのJFrames間でfocus/toFront/toBackを管理するのはあまりにも難しいので、JDialog/JWindowはJPopupとJComboboxを慎重に使っているので、http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4799266 – mKorbel

関連する問題