gpt4 book ai didi

java - 无法调整 BoxLayout 中 JLabels 的大小

转载 作者:行者123 更新时间:2023-12-02 03:48:49 24 4
gpt4 key购买 nike

我正在尝试设置一些 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() ,这有助于调整大小,但它隐藏了它们周围的线条边框。有什么想法吗?

最佳答案

Is there any way to make the labels a little bigger so that there is a bit of a border around the labels?

当然。添加一个 EmptyBorder

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

另请参阅Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing? (是的。)

关于java - 无法调整 BoxLayout 中 JLabels 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36076760/

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