假設您的JPanel大小爲200 x 200,並且具有自定義組合框類型的組件,其下拉列表應該能夠在200 x 200 JPanel之外擴展。自定義組件可以擴展到其容器的界限以外 - 如何?
我面臨的問題是,下拉列表不能在容器邊界外面「繪製」,或者容器的大小根據下拉列表來確定。
如何將組件添加到允許該組件超出容器邊界的容器中? Java JComboBox如何在內部執行此操作?
假設您的JPanel大小爲200 x 200,並且具有自定義組合框類型的組件,其下拉列表應該能夠在200 x 200 JPanel之外擴展。自定義組件可以擴展到其容器的界限以外 - 如何?
我面臨的問題是,下拉列表不能在容器邊界外面「繪製」,或者容器的大小根據下拉列表來確定。
如何將組件添加到允許該組件超出容器邊界的容器中? Java JComboBox如何在內部執行此操作?
只需使用JPopupMenu作爲下拉菜單。 JPopupMenu內部將處理繪畫的邊緣和邊緣。
如果繼續aplication該截圖您張貼在這裏的發展,就必須尋找如何使用JWindow(未加裝飾的頂層容器),作爲例如一些最好的JCalendar,SwingX,爲full_workaround約setVisible
/toFront
/FocusSubsystem
/上focusGained/focusLost
有沒有問題設置JWindow
到Point
與setSize
,你可以從任何JComponent的
使用JWindow會比使用未裝飾的JFrame有什麼好處? – rtheunissen
它太難管理焦點/ toFront/toBack之間的兩個JFrames,因爲這是有JDialog/JWindow,仔細與JPopup和JCombobox,http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4799266 – mKorbel
的回報最好是鏈接到的JavaDoc的最新版本。我編輯了您的答案以指向J2SE 7.有關獲取最新文檔鏈接的提示,請參見[優點2](http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7090875) 。 –