[英]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.