我在JLabels
中有一堆GridBagLayout
。我想强调哪一个是#34;选择"通过在"选择的一个"周围添加一个线条边框。这个问题是边界的厚度将JLabels
分开并在它们之间形成间隙。是否可以使边框的厚度为0但仍然可见?
答案 0 :(得分:3)
是否可以使边框的厚度为0但仍然可见?
您可以使用CompoundBorder
。创建一个LineBorder
作为外部,EmptyBorder
(带有-1个偏移)作为内部。
Border的总大小为0且不占用任何空间,但它会在标签的顶部绘制,而不是在标签的边界之外。
答案 1 :(得分:2)
相反,设置每个"未选择" JLabel
EmptyBorder
的像素厚度与LineBorder
相同。
选择后,将Border
更改为LineBorder
,取消选中后,将其更改为EmptyBorder
。
这将阻止布局改变尺寸......因为它没有。
此外,Border
0
像素厚度是......不可见的......