簡體   English   中英

如何在Java Swing中創建響應式JList

[英]How can I create responsive JList in Java Swing

我想通過擁有一個主JPanel來創建商店,其中的每個內部組件都是一個具有圖像,標簽和按鈕的JPanel

使用我沒有嘗試過JList但隨着問題JList其僅持有該組件的渲染,因為該按鈕沒有工作,其唯一的圖像和。 我可以四處走動並使用MouseEvent,但對我來說這是錯的,我相信有更好的解決方案。

我希望組件將根據框架大小更改其位置,例如JList

例如,如果我從屏幕的寬度更改,組件的位置將由此改變:

在此處輸入圖片說明

對此:

在此處輸入圖片說明

我確實有一個想法,可以在paintComponent使用GridLayoutGridBagLayout (因為它調用每個渲染。如果您知道另一個我想知道的調用JPanel每個渲染int的方法),並通過更改布局變量來更改組件的位置在paintComponent內部。

我確實瀏覽了互聯網以找到解決方案,但我只發現人們使用了JTable但我看不到它在這里起作用。

其中的每個組件都是一個帶有圖像,標簽和按鈕的JPanel。

說得通。

通過更改paintComponent內部的布局變量來更改組件的位置。

paintComponent()方法與更改面板的布局無關。 您不應該使用paintComponent()方法。

我確實有使用GridLayout或GridBagLayout的想法

使用布局管理器是正確的,但是不幸的是,沒有默認布局管理器會自動包裝隨機數量的組件。

調整框架大小時,將自動調用布局管理器。

因此,您可以使用Wrap Layout ,這是FlowLayout的擴展,允許隨機包裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM