我正在尋找一種方法將圖像加載到我的應用程序中,然後在網格中顯示它們。有點像谷歌圖片搜索只有縮略圖將全部在相同的大小。圖像的數量將是隨機的,所以它必須能夠滾動。此外,我必須能夠與圖像進行交互,所以當我點擊它時,我必須能夠觸發一個事件。顯示圖像的網格
什麼是創建這種網格的最佳方式?如果是這樣,指向教程的鏈接將有所幫助!
在此先感謝
我正在尋找一種方法將圖像加載到我的應用程序中,然後在網格中顯示它們。有點像谷歌圖片搜索只有縮略圖將全部在相同的大小。圖像的數量將是隨機的,所以它必須能夠滾動。此外,我必須能夠與圖像進行交互,所以當我點擊它時,我必須能夠觸發一個事件。顯示圖像的網格
什麼是創建這種網格的最佳方式?如果是這樣,指向教程的鏈接將有所幫助!
在此先感謝
既然要與影像互動,我會說畫他們是出了問題,所以我的建議是創建的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);
只是一個與水平或垂直包裝JList的。您只需將一個ImageIcon添加到模型中,並且圖像將被正確渲染。請閱讀How to Use Lists上的Swing教程部分以獲取更多信息。 JList已經提供了「選擇」類型的功能。
謝謝!我會給這個鏡頭 – Leniaal
這真的幫了我很多!出於某種原因,雖然所有的圖像都在彼此頂部結束,但我相信我會弄明白 – Leniaal
@ user1896006,'我也必須能夠與圖像進行交互,所以當我點擊它時必須能夠發起一個事件。「 - 那麼爲什麼你要重新發明輪子? JList已經支持一個選擇監聽器。它也支持鍵盤導航。你有什麼問題與JList不符合你的要求? – camickr