无法在 BoxLayout 中调整 JLabels的大小



我正在尝试设置一些JLabels,用作BoxLayout中的按钮,堆叠在一起。布局很好,但我发现我无法将标签大小调整为我想要的尺寸。我使用以下代码来调整它们的大小:

JLabel fileAddBtn = new JLabel("Add File", SwingConstants.CENTER);
fileAddBtn.setBorder(BorderFactory.createLineBorder(Color.black));
fileAddBtn.setMaximumSize(new Dimension(Integer.MAX_VALUE, fileAddBtn.getMinimumSize().height));

    JLabel fileRemBtn = new JLabel("Remove File", SwingConstants.CENTER);
fileRemBtn.setBorder(BorderFactory.createLineBorder(Color.black));
fileRemBtn.setMaximumSize(new Dimension(Integer.MAX_VALUE, fileRemBtn.getMinimumSize().height));

到目前为止,我有两个标签,一个比另一个长。它们都采用较长标签的宽度,这很好,但标签将文本的边缘紧贴到最近的像素。有没有办法使标签变大一点,以便在标签周围有一点边框?我试过使用setSize()但不需要。我还在上面的代码中添加了直接值,但它也不会改变它们。我尝试在它们周围添加一个EmptyBorder(),这对于调整大小很有用,但它隐藏了围绕它们的线条边框。有什么想法吗?

有没有办法使标签变大一点,以便在标签周围有一点边框?

确定。添加一个EmptyBorder

但是,由于代码已经向标签添加了边框,因此要保留该行边框,请创建一个由空边框和行边框组成的CompoundBorder,并将复合边框设置为标签。

参见 我应该避免使用set(首选|最大|最小)Java Swing 中的大小方法? (是的。

相关内容

  • 没有找到相关文章

最新更新