【问题标题】:JLabel remove space between text and borderJLabel 删除文本和边框之间的空间
【发布时间】:2014-12-05 12:26:02
【问题描述】:

我正在创建一个只有文本的 JLabel(从程序的另一部分定制)。我不能在这里发布图片,但标签带有填充(意味着文本和边框之间有间隙。)

我不希望填充物这么厚。有没有办法压缩填充物使其不会那么厚?这些是我尝试过的(一个一个,不是全部)

setPreferredSize(width, height);
setBorder(new EmptyBorder(new Insets(0,0,0,0)));
setBorder(new EmptyBorder(new Insets(-5,-5,-5,-5)));

但它们都不起作用。最多他们缩小我的 JLabel 但填充保持不变。填充最终覆盖了我的文本。我知道 setMargin 可能有效,但 JLabel 似乎没有 setMargin 所以我迷路了。任何帮助将不胜感激,谢谢!

【问题讨论】:

  • 对于(大部分)JComponents 的 setPreferredSize 的重要部分是从 LayoutManager 自动完成的,没有 SSCCE/MCVE,简短、可运行、可编译的问题在这里无法回答

标签: java swing border jlabel


【解决方案1】:

我想通了。我看到的“边框”实际上是面板,而不仅仅是标签。标签的背景本身是透明的(我没有设置标签的 setOpaque(true))。结果我的标签根本没有填充,这就是我想要的。我理解为什么面板上也有填充(由 FlowLayout 完成)所以一切都很好。感谢 mKorbel 的快速响应!我会结束这个问题。

【讨论】:

    猜你喜欢
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    相关资源
    最近更新 更多