public void stateChanged(ChangeEvent ce) {
    if(ce.getSource() == this.xSlider) {
        this.procedureToProcessXSlider();
    }
}
但是如果這個procedureToProcessXSlider()裡面有幾百行怎麼辦?每拉動一個刻度都會發出event哦,如果把JSlider從75拉到174,這樣就會發出100次event,莫名其妙就執行了幾萬行程式碼,正式的解法我還沒有去網路上找過,不過我自己是這樣解的:
public void stateChanged(ChangeEvent ce) {
    if(ce.getSource() == this.xSlider) {
        if(!this.xSlider.getValueIsAdjusting()) {
            this.procedureToProcessXSlider();
        }
    }
}
沒有留言:
張貼留言