首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JLabel图标上添加JLabel文本。使用相同的JLabel文本

在JLabel图标上添加JLabel文本。使用相同的JLabel文本
EN

Stack Overflow用户
提问于 2014-03-05 21:24:18
回答 3查看 6.8K关注 0票数 4

很抱歉标题含糊其辞,但我想不出我想要在标题中做什么。无论如何,对于图像上的文本,我使用了JLabel文本并将其添加到图标中。

代码语言:javascript
复制
    JLabel icon = new JLabel(new ImageIcon);
    icon.setLayout(new GridBagLayout());
    add(icon);

    JLabel text = new JLabel();
    text.setText(language.getString("translation"));
    text.setLocation(10, 10);
    text.setSize(text.getPreferredSize());
    icon.add(text);

我正在为我的应用程序做i18n,每次我切换区域设置时,它都会将相同的JLabel添加到前一个,这样你就可以看到一个接一个的文本。如何使用相同的Jlabel而不是在顶部添加一个新的?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2014-03-05 21:55:48

我认为你想创建的是一个带有自定义图标的JLabel

您应该创建一个JLabel并设置其图标,如下所示:

代码语言:javascript
复制
JLabel label = new JLabel(language.getString("translation"));
label.setIcon(new ImageIcon(/* path of your icon */));

如果你想修复文本重叠,你应该像这样设置文本对齐方式:

lblText.setHorizontalTextPosition(JLabel.CENTER);

票数 7
EN

Stack Overflow用户

发布于 2014-03-05 21:53:47

保留文本标签作为类的字段,只需调用setText(),而不是重新创建/添加它们。

票数 2
EN

Stack Overflow用户

发布于 2016-05-23 15:56:37

您可以使用setText("abc")在imageLabel上设置文本,并可以使用setHorizontalTextPosition(JLabel.CENTER)和setVerticalTextPosition(JLabel.BOTTOM)方法定位文本。

代码语言:javascript
复制
dragLabel[i].setText("default");
           dragLabel[i].setHorizontalTextPosition(JLabel.CENTER);
           dragLabel[i].setVerticalTextPosition(JLabel.BOTTOM);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22199078

复制
相关文章

相似问题

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