Hallo,
anscheinend hat der ColorPicker von JavaFX2 einen Bug da die setValue nicht richtig funktioniert.
Es wird zwar der neue Wert übernommen aber die Anzeige (Farbe und Wertebereich) ändert sich nicht.
Siehe hier:
hg: openjfx/2.2/controls/rt: fix RT-21124 ColorPicker setValue dont affect obviously.
Gibt es schon eine JavaFX Version die diesen Bug behoben hat?
Notfalls: Wie könnte ich dies umgehen?
Hier noch ein Beispiel mit dem ColorPicker:
godi
anscheinend hat der ColorPicker von JavaFX2 einen Bug da die setValue nicht richtig funktioniert.
Es wird zwar der neue Wert übernommen aber die Anzeige (Farbe und Wertebereich) ändert sich nicht.
Siehe hier:
hg: openjfx/2.2/controls/rt: fix RT-21124 ColorPicker setValue dont affect obviously.
Gibt es schon eine JavaFX Version die diesen Bug behoben hat?
Notfalls: Wie könnte ich dies umgehen?
Hier noch ein Beispiel mit dem ColorPicker:
Java:
package colorPicker;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.ColorPicker;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class ColorPickerSample extends Application {
private ColorPicker colorPicker;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) {
stage.setTitle("ColorPicker");
Scene scene = new Scene(new HBox(20), 600, 100);
HBox box = (HBox) scene.getRoot();
box.setPadding(new Insets(5, 5, 5, 5));
colorPicker = new ColorPicker();
colorPicker.setValue(Color.CORAL);
final Text text = new Text("Try the color picker!");
text.setFont(Font.font ("Verdana", 20));
text.setFill(colorPicker.getValue());
colorPicker.valueProperty().addListener(new ChangeListener<Color>() {
@Override
public void changed(ObservableValue<? extends Color> arg0,
Color arg1, Color arg2) {
text.setFill(arg2);
System.out.println(arg2);
}
});
final TextField colorTxF = new TextField();
colorTxF.setText(colorPicker.getValue().toString());
colorTxF.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
colorPicker.setValue(Color.web(colorTxF.getText()));
}
});
colorPicker.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
colorTxF.setText(colorPicker.getValue().toString());
}
});
box.getChildren().addAll(colorPicker, colorTxF, text);
stage.setScene(scene);
stage.show();
}
}
godi