我正在编写一个小型纸牌游戏,到目前为止我有以下内容:
我有一个自定义 JPanel Card 组件,我在其中重写 getPreferredSize() 方法
我还有一个自定义的 HandView 组件,它本质上只是向其中添加了一堆卡片组件。我还重写了 getPreferredSize() 并使用了流程布局。
我的问题是,当太多 Card 组件添加到 handView 时,它们不会显示。我不想调整卡片组件和手组件的大小。我想要的是,当添加太多卡片组件时,使卡片组件开始相互重叠。这可以通过流程布局实现吗?
最佳答案
Is that possible with a flowlayout?
您可以在创建FlowLayout
时指定水平间隙。如果您使用负值,则会出现重叠。
但是,您可能需要考虑 Overlap Layout这是专门为这种类型的布局编写的。它为重叠的工作方式提供了不同的选项。
What i would like is to make the card components start overlapping each other when too many are added
在这两种情况下,您都需要在添加/删除卡片时动态重置间隙,然后重新验证面板。
关于java - 使组件在流程布局中重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32910225/