繁体   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