在JLabel中显示double值

时间:2015-01-25 23:17:11

标签: java

我需要我的一个JLabel,lblLength,以0.1间隔显示0到2之间。我尝试了滑块的值" length_slider"并且在将其设置在lblLength之前进行调整,但这并不起作用。如果有人能告诉我什么是错的,我会非常感激。

public class label_display implements ChangeListener {

JLabel v;
String name;

label_display( JLabel v){// grab the JLabel
    this.v=v;
}

@Override
public void stateChanged(ChangeEvent e) {



    JSlider slider = (JSlider)e.getSource();



    if(!slider.getValueIsAdjusting()){  
        name = slider.getName();        
        if(name=="length_slider"){      
            double adjuster = slider.getValue();
        adjuster=adjuster/10;
        String temp =  Double.toString(adjuster);
        v.setText(temp);
        }
        else{                           
            String temp =  Double.toString(slider.getValue());
            v.setText(temp);
        }

    }

}

1 个答案:

答案 0 :(得分:0)

使用.equals()来比较@chancea建议的非==的对象。 .equals()比较两个字符串是否相同(" asdf" .equals(" asdf")是真的但是" asdf" ==" asdf"是假的。)

新代码应如下所示:

if(name.equals("length_slider")){

而不是

if(name == "length_slider"){