为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Java Swing 中创建响应式 JList

如何在 Java Swing 中创建响应式 JList

隔江千里 2022-10-20 15:07:10
我想创建一个商店,方法是JPanel让里面的每个组件都是一个JPanel带有图像、标签和按钮的主组件。我确实尝试过使用 aJList但它的问题JList仅包含组件的渲染,因此该按钮不起作用并且它只是一个图像。我可以四处走动并使用 MouseEvent,但对我来说感觉不对,我确信有更好的解决方案。我希望组件将根据框架大小改变它们的位置,就像在JList.例如,如果我从屏幕的宽度更改组件的位置将从以下更改:对此:我确实有一个想法,通过使用GridLayoutor GridBagLayout(paintComponent因为它调用每个渲染。如果您知道另一种调用每个渲染 int 的方法,JPanel我想知道)并通过更改内部布局变量来更改组件的位置paintComponent。我确实上网寻找解决方案,但我只发现有人使用过JTable,但我看不到它在这里工作。
查看完整描述

1 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

其中的每个组件都是一个带有图像、标签和按钮的 JPanel。

说得通。

通过更改paintComponent 内部的布局变量来更改组件的位置。

paintComponent() 方法与更改面板的布局无关。您不应该使用 paintComponent() 方法。

我确实有一个使用 GridLayout 或 GridBagLayout 的想法

使用布局管理器是正确的,但不幸的是,默认布局管理器都不会自动包装随机数量的组件。

调整框架大小时会自动调用布局管理器。

因此,您可以使用Wrap Layout,它是 FlowLayout 的扩展,允许随机包装。


查看完整回答
反对 回复 2022-10-20
  • 1 回答
  • 0 关注
  • 49 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信