[英]Java Swing energybar not updating
想知道你们中的任何一个可以帮助我吗:
我有一个具有以下方法的UIMain类。 每当我在main方法中调用所有3个计时器时,我的计时器似乎都无法工作
setupEnergyBar();
setupDeductingEnergyBar();
updateData();
public void setupEnergyBar(){
energyBar = new JProgressBar();
energyBar.setStringPainted(true);
energyBar.setMinimum(0);
energyBar.setMaximum(100);
setupDeductingEnergyBar();
}
public void setupDeductingEnergyBar(){
energyDeductTimer = new Timer(1000, new ActionListener(){
public void actionPerformed(ActionEvent e) {
character.setCharEnergyLvl(character.getCharEnergyLvl() - 5);
}
});
energyDeductTimer.start();
updateData();
}
public void updateData(){
character.getCharName();
character.getCharEnergyLvl();
energyBar.setValue(character.getCharEnergyLvl());
// setCharStatus();
// setCharActionLvl(getCharActionLvl());
// setCharEnergyLvl(getCharEnergyLvl());
// setCoins(getCoins());
// setHero(isHero());
// setCrimesFought(getCrimesFought());
// setCrimesCommited(getCrimesCommited());
// setCrimesIgnored(getCrimesIgnored());
//
}
}
非常感谢
您的问题出在setupDeductingEnergyBar
方法中。 您正在创建一个计时器,并更新角色能量,但没有更新进度条。 解决方法只是将updateData
方法移到energyDeductTimer
的动作侦听器中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.