更新JLabel时,先前的文本保留,旧文本放在其上

时间:2013-05-20 09:13:32

标签: java jlabel

所以,我正在制作一个程序,在程序中,它以这种格式显示你的健康状况:

Health : 82/82

当你接受伤害时,我要求程序更新JLabel,它会显示你受到了这样的伤害

Health: 60/82

JLabel是一个公共变量,只创建一次,

public JLabel UIHealth = new JLabel();

从此开始使用以下代码进行更新。 以下是我用于更新动作发生后UIHealth JLabel更新文本的代码:

UIHealth.setText("Health: "+Health+"/"+PlayerHealthBar.getMaximum()+"");

是否有更简单的方法来显示将要更新的文本? 将我的Frame和ALL面板设置为透明以查看其背后的图像是否充当HUD是否重要? 以下是我应用于透明但仍具有交互性的所有内容的代码。

public Color Clear = new Color(0,0,0,0);

当使用Clear组件时,我当然会调用.setBackground

这是在UI上看到一点点伤害(4-5次点击)后的图像。 (注意文本如何叠加在自身之上)

UI After taking a few hits

提前感谢您的所有时间。 请让我知道并问我是否有什么东西不清楚,或者你需要我的程序的其他片段。

1 个答案:

答案 0 :(得分:2)

您要添加标签JPanel。您需要在创建后调用myPanel.setOpaque(false);