簡體   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