2013-08-19 33 views
1

我有下面的代碼,不會標記滑塊「foo50」,等等......正如人們所期望的調用setLabelFormatter,但似乎沒有效果(滑塊已標記50,100等,並且println的不運行)。有什麼我失蹤?這是不是在默認的2.2皮膚?使用JavaFX中2.X不工作(Java 7中)甲骨文的Java 7JavaFX 2滑塊labelFormatter沒有被使用

package javafxbugtest; 

import javafx.application.Application; 
import javafx.scene.*; 
import javafx.scene.control.*; 
import javafx.stage.*; 
import javafx.util.StringConverter; 

public class JavaFXBugTest extends Application 
{ 
    @Override 
    public void start(final Stage primaryStage) 
    { 
     Slider cp = new Slider(); 
     cp.setLabelFormatter(new StringConverter<Double>() { 

      @Override 
      public String toString(Double t) 
      { 
       System.out.println("nope?"); 
       return "foo" + t.toString(); 
      } 

      @Override 
      public Double fromString(String string) 
      { 
       System.out.println("hey"); 
       throw new UnsupportedOperationException("Not supported yet."); 
      } 
     }); 
     cp.setMax(300); 
     cp.setMin(0); 
     cp.setShowTickLabels(true); 
     cp.setShowTickMarks(true); 
     cp.setMajorTickUnit(50); 
     cp.setMinorTickCount(4); 
     cp.setValue(152); 
     Scene scene = new Scene(cp); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

    public static void main(String[] args) 
    { 
     launch(args); 
    } 
} 

回答