Java Swing边框没有厚度

时间:2014-04-07 00:26:13

标签: java swing border

我在JLabels中有一堆GridBagLayout。我想强调哪一个是#34;选择"通过在"选择的一个"周围添加一个线条边框。这个问题是边界的厚度将JLabels分开并在它们之间形成间隙。是否可以使边框的厚度为0但仍然可见?

2 个答案:

答案 0 :(得分:3)

  

是否可以使边框的厚度为0但仍然可见?

您可以使用CompoundBorder。创建一个LineBorder作为外部,EmptyBorder(带有-1个偏移)作为内部。

Border的总大小为0且不占用任何空间,但它会在标签的顶部绘制,而不是在标签的边界之外。

答案 1 :(得分:2)

相反,设置每个"未选择" JLabel EmptyBorder的像素厚度与LineBorder相同。

选择后,将Border更改为LineBorder,取消选中后,将其更改为EmptyBorder

这将阻止布局改变尺寸......因为它没有。

此外,Border 0像素厚度是......不可见的......