2013-09-23 192 views
0

我正在尋找一種方法將圖像加載到我的應用程序中,然後在網格中顯示它們。有點像谷歌圖片搜索只有縮略圖將全部在相同的大小。圖像的數量將是隨機的,所以它必須能夠滾動。此外,我必須能夠與圖像進行交互,所以當我點擊它時,我必須能夠觸發一個事件。顯示圖像的網格

什麼是創建這種網格的最佳方式?如果是這樣,指向教程的鏈接將有所幫助!

在此先感謝

回答

3

既然要與影像互動,我會說畫他們是出了問題,所以我的建議是創建的JLabel來保存圖像和簡單中的JLabel添加到帶有gridLayout的面板。

至於交互添加一個監聽器(可能鼠標)到每個JLabel,它會很容易檢測到你點擊的一個。

實施例:

JLabel j1 = new JLabel(); 
j1.setIcon(new ImageIcon("path to your image"); 

j1.addMouseListener(...); 

JPanel jp = new JPanel(new GridLayout(nRows, nCols); 
Jp.add(j1); 
+0

這真的幫了我很多!出於某種原因,雖然所有的圖像都在彼此頂部結束,但我相信我會弄明白 – Leniaal

+0

@ user1896006,'我也必須能夠與圖像進行交互,所以當我點擊它時必須能夠發起一個事件。「 - 那麼爲什麼你要重新發明輪子? JList已經支持一個選擇監聽器。它也支持鍵盤導航。你有什麼問題與JList不符合你的要求? – camickr

0

只是一個與水平或垂直包裝JList的。您只需將一個ImageIcon添加到模型中,並且圖像將被正確渲染。請閱讀How to Use Lists上的Swing教程部分以獲取更多信息。 JList已經提供了「選擇」類型的功能。

+0

謝謝!我會給這個鏡頭 – Leniaal