我想创建一个商店,方法是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 的扩展,允许随机包装。
添加回答
举报
0/150
提交
取消