首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java JLabel文本超过父JLabel宽度

java JLabel文本超过父JLabel宽度
EN

Stack Overflow用户
提问于 2018-03-24 20:47:29
回答 1查看 180关注 0票数 0

我有一个名为iconLabel的类,它扩展了JLabel以生成按钮。我使用字体(字体)将JLabel的文本设置为图标。我还向构造函数中的iconLabel对象添加了另一个iconLabel,以在图标上显示文本。问题是图标上的文本超过了图标的宽度,所以您将得到“.”。如何才能使JLabel文本超过图标的宽度?这是一个需要澄清的图像。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-24 20:53:33

问题是图标上的文本超过了图标的宽度,所以您将得到“.”。

JLabel可以显示图标,在图标顶部画文字。没有必要使用自定义类来执行此操作。

基本守则是:

代码语言:javascript
复制
JLabel label1 = new JLabel( new ImageIcon(...) );
label1.setText( "Easy Way" );
label1.setHorizontalTextPosition(JLabel.CENTER);
label1.setVerticalTextPosition(JLabel.CENTER);

问题是我想使用字体很棒的图标

那么,您使用了setText()方法并绘制了一个图标?凉爽的!

也许您可以使用JPanel和OverlayLayout。然后将这两个标签添加到面板中,确保对齐X/Y值都为0.5f,以便组件在面板中居中。现在面板应该是最大标签的大小。

或者你可以使用文本图标。这个类允许您从文本字符串创建图标。您仍然需要标签,但大小应该是正确的。

代码应该类似于:

代码语言:javascript
复制
JLabel iconLabel = new JLabel();
iconLabel.setFont(...);
TextIcon icon = new TextIcon(iconLabel, "...")
Jlabel label = new JLabel("some text");
label.setIcon(icon);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49469780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档