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

标签 java swing text jlabel

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

    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 而不是在顶部添加新的 Jlabel?

谢谢

最佳答案

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

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

JLabel label = new JLabel(language.getString("translation"));
label.setIcon(new ImageIcon(/* path of your icon */));

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

lblText.setHorizo​​ntalTextPosition(JLabel.CENTER);

关于java - 在 JLabel 图标上添加 JLabel 文本。使用相同的 JLabel 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22199078/

相关文章:

java - 根据用户输入显示多个对话框提示

html - CSS边框问题

Java - 将文本附加到文件末尾

java - 反序列化加密的对象列表

java - 在 Java 中超出数组限制后显示消息

java - 我必须使用 java swing 将文件上传到服务器

java - JFileChooser 的 showOpenDialog() 未打开用于打开文件的对话框

c# - .NET C# - 随机访问文本文件 - 没有简单的方法?

java - 如何使用 foreach 循环检测 ArrayList 中的字符串?

java - 在 Java 中解码来自 Socket 连接的数据流