スライダーに「foo50」などのラベルを付けていない次のコードがあります...setLabelFormatter
呼び出しで期待されるように、代わりに効果がないようです(スライダーには50、100などのラベルが付けられ、printlnは実行されません) . 足りないものはありますか?これはデフォルトの 2.2 スキンでは実装されていませんか? Oracle Java 7 の使用
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);
}
}