通过JLabel图标添加JLabel文本。 使用相同的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.setHorizontalTextPosition(JLabel.CENTER);


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


您可以使用setText(“abc”)在imageLabel上设置文本,并可以使用setHorizo​​ntalTextPosition(JLabel.CENTER)和setVerticalTextPosition(JLabel.BOTTOM)方法来定位文本。

dragLabel[i].setText("default");
           dragLabel[i].setHorizontalTextPosition(JLabel.CENTER);
           dragLabel[i].setVerticalTextPosition(JLabel.BOTTOM);
链接地址: http://www.djcxy.com/p/67663.html

上一篇: Adding JLabel text over JLabel Icon. Using the same JLabel text

下一篇: Align text and icon differently in JLabel