2017-10-21 3 views
0

私は自分のプロジェクトでJSliderを使用しています。そして、どこかでスライダの値を取得する必要がありますが、getValue()メソッドは現在のスライダの値を返しません。常にデフォルト値を返します。ここでJSliderのGetValueメソッドは現在の値を返しませんか?

は私のコードの関連部分です:私のコードの別の部分で

this.slider.addChangeListener(new ChangeListener() { 
     @Override 
     public void stateChanged(ChangeEvent e) { 
      // This two lines below are about Cytoscape framework. I am taking a column of a table and convert it to List<String>. There are not doing anything about slider. 
      CyColumn timeColumn = table.getColumn("startTime"); // Getting start time column 
      List<String> timeList = filter.getTimeFromColumn(timeColumn); // Gets value of start time column without null values 
      // I printed out slider.getValue() value and it returns default slider value all the time. 
      sliderLabel.setText(timeList.get(slider.getValue())); 
     } 
    }); 

、私はスライダーの最小値と最大値を変更する必要があります。そのために、私は以下のコードを使用します:

public void reCreateSlider(){ 
    // Activity size returns correct. 
    ArrayList<CyNode> activities = filter.FilterRowByNodeType("activity", "nodeType"); 
    this.slider = new JSlider(0, activities.size()); 
} 

なぜslider.getValue()は常にデフォルト値を返しますか?ありがとう、

答えて

0

実際に私はちょうど以下のようにreCreateSlider()メソッドを変更し、それは働いた。

public void reCreateSlider(){ 
// Activity size returns correct. 
ArrayList<CyNode> activities = filter.FilterRowByNodeType("activity", "nodeType"); 
slider.setMinimum(0); 
slider.setMaximum(activities.size()); 
} 

誰もが同じ問題を抱えている場合、このようにすることができます。

関連する問題