繁体   English   中英

Java Swing能量栏未更新

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM