我期待創建一個ListView來填充指定目錄中的許多圖像。這一切都很好,但令人煩惱的是,我似乎無法找到一種方法讓ListView包裝,或以多列顯示(目前它只是每行一個圖像,考慮到沒有文本,這令人討厭。)JavaFX中的多列(包裝)ListView 2
使用Swing的JList可以通過jList.setLayoutOrientation(JList.HORIZONTAL_WRAP);
來完成,但是我在JavaFX 2中看不到任何等價物 - 我是否錯過了某些東西?
我期待創建一個ListView來填充指定目錄中的許多圖像。這一切都很好,但令人煩惱的是,我似乎無法找到一種方法讓ListView包裝,或以多列顯示(目前它只是每行一個圖像,考慮到沒有文本,這令人討厭。)JavaFX中的多列(包裝)ListView 2
使用Swing的JList可以通過jList.setLayoutOrientation(JList.HORIZONTAL_WRAP);
來完成,但是我在JavaFX 2中看不到任何等價物 - 我是否錯過了某些東西?
javafx.scene.control.ListView
不支持這種功能。
鑑於你只是把圖像放在裏面,你可能只想用TilePane
來顯示它們。
謝謝,'TilePane'作爲替代品效果很好。 – berry120
由於我有完全相同的問題,我也調查了這個方向。如果你只有少量物品,TilePane可能是一個解決方案,但如果你有很多物品,它會變得非常慢並且消耗大量資源。 (TilePane在設計上不支持UI虛擬化,也就是說,重複使用/回收不再位於視口中的項目節點)。
因此,我的想法是子類化ListView並創建一個WrappedListView,但我已經無意中通過一個完美的解決方案:ControlsFX是一個開源的JavaFX控件集合,它正好有一個支持虛擬化的GridView控件。
ControlsFX的GridView
以下是在ControlsFX所有控件的概述。 http://fxexperience.com/controlsfx/features/
用於下載庫,他們所提供的標準方式,如Maven的依賴在其發展的網站:https://bitbucket.org/controlsfx/controlsfx/
自定義的ListView的細胞工廠包括HBox中的例子。將圖像和文字放入HBox。 –