gpt4 book ai didi

java - JPanel 分离边框选择

转载 作者:行者123 更新时间:2023-11-30 03:09:09 24 4
gpt4 key购买 nike

enter image description here

我有一个 JPanel 列表,列表中的每个元素都有 10 个 JPanel 元素,其中包含一张图片。 (如图)

我设置了 float 布局,将它们依次水平对齐。 (每行JPanel元素)

我将此列表的每个元素垂直放在另一个外部 JPanel 上,一切正常。 (每个垂直JPanel)

现在我想将上面的标签 F1 到 F10 恰好放在第一个 now 元素的中心?我要怎么做呢?有什么推荐吗?

请注意,我不能对第一行元素使用 TitledBorder (有标题且无边框),因为我对每个元素都有一个选择函数,如果我这样做,它会选择整个第一行元素(元素 + titledborder)哪一行非常丑陋并且与其他行不相似?

你有什么解决办法吗?

最佳答案

将顶行设置为具有默认布局 FlowLayoutJPanel。添加十个自定义 JLabel 实例,在其中重写 getPreferredSize() 以返回标称图片宽度和不小于父级实现返回的高度。

image

private static final int W = 50;

private static class MyLabel extends JLabel {

public MyLabel(String text) {
super(text);
this.setHorizontalAlignment(CENTER);
}

@Override
public Dimension getPreferredSize() {
return new Dimension(W, super.getPreferredSize().height);
}
}

关于java - JPanel 分离边框选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33998004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com