gpt4 book ai didi

java JLabel 文本超出父 JLabel 宽度

转载 作者:行者123 更新时间:2023-12-01 17:51:38 26 4
gpt4 key购买 nike

我有一个名为 iconLabel 的类,它扩展 JLabel 来制作按钮。我使用 Font Awesome 字体将 JLabel 的文本设置为图标。我还在构造函数中向 iconLabel 对象添加了另一个 JLabel,以在图标上显示文本。问题是图标上的文本超出了图标的宽度,所以你会得到“...”。我怎样才能使 JLabel 文本超过图标宽度?这是用于澄清的图像。

enter image description here

最佳答案

The problem is that the text on the icon exceeds the width of the icon, so you'll get "...".

JLabel 可以显示图标,并在图标顶部绘制文本。不需要自定义类来执行此操作。

基本代码是:

JLabel label1 = new JLabel( new ImageIcon(...) );
label1.setText( "Easy Way" );
label1.setHorizontalTextPosition(JLabel.CENTER);
label1.setVerticalTextPosition(JLabel.CENTER);

The thing is that I want to use the font awesome icons

因此,您使用 setText() 方法并绘制了一个图标?酷!

也许您可以将 JPanel 与 OverlayLayout 一起使用。然后将两个标签添加到面板中,确保alignmentX/Y 值均为0.5f,以便组件在面板中居中。现在面板应该是最大标签的尺寸。

或者您可以使用Text Icon 。此类允许您从文本字符串创建图标。您仍然需要标签,但尺寸应该可以正常工作。

代码应该是这样的:

JLabel iconLabel = new JLabel();
iconLabel.setFont(...);
TextIcon icon = new TextIcon(iconLabel, "...")
Jlabel label = new JLabel("some text");
label.setIcon(icon);

关于java JLabel 文本超出父 JLabel 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49469780/

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