我正在尝试设置一些JLabel用作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()
,它可用于调整尺寸,但它隐藏了围绕它们的线边框。有什么想法吗?
答案 0 :(得分:2)
有没有办法让标签变得更大,以至于标签周围有一点边框?
不确定。添加EmptyBorder
。
但由于代码已经为标签添加了边框,要保留该边框,请创建一个由空边框和线条边框组成的CompoundBorder
,并将复合边框设置为标签。
另见Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing?(是)。