use of javafx.scene.paint.Color in project fxexperience2 by EricCanull.
the class ColorPickerControl method onPickerRegionDragged.
@FXML
void onPickerRegionDragged(MouseEvent e) {
double mx = e.getX();
double my = e.getY();
// Update UI
final Color color = updateUI_OnPickerChange(mx, my);
// Update model
setPaintProperty(color);
}
use of javafx.scene.paint.Color in project fxexperience2 by EricCanull.
the class WebColorFieldSkin method updateValue.
@Override
protected void updateValue() {
Color value = ((WebColorField) control).getValue();
String text = getTextField().getText() == null ? "" : getTextField().getText().trim().toUpperCase();
if (text.matches("#[A-F0-9]{6}")) {
try {
Color newValue = Color.web(text);
if (!newValue.equals(value)) {
((WebColorField) control).setValue(newValue);
}
} catch (java.lang.IllegalArgumentException ex) {
System.out.println("Failed to parse [" + text + "]");
}
}
}
use of javafx.scene.paint.Color in project fxexperience2 by EricCanull.
the class DerivationController method initialize.
@Override
public void initialize(URL url, ResourceBundle rb) {
gridPane.getChildren().addAll(baseColorPicker, desiredColorPicker);
GridPane.setConstraints(baseColorPicker, 1, 1);
baseColorPicker.setPrefWidth(120);
baseColorPicker.setMaxWidth(120);
GridPane.setConstraints(desiredColorPicker, 1, 6);
desiredColorPicker.setPrefWidth(120);
desiredColorPicker.setMaxWidth(120);
// FORWARD
forwardDerivationLabel.textProperty().bind(new StringBinding() {
{
bind(derivationSlider.valueProperty());
}
@Override
protected String computeValue() {
return String.format("%3.1f%%", derivationSlider.getValue());
}
});
Region derivedResultColor = new Region();
derivedResultColor.setPrefSize(50, 20);
derivedResultLabel.setGraphic(derivedResultColor);
derivedResultColor.styleProperty().bind(new StringBinding() {
{
bind(derivationSlider.valueProperty(), baseColorPicker.colorProperty());
}
@Override
protected String computeValue() {
return "-fx-border-color: black; -fx-background-color: derive(" + baseColorPicker.getWebColor() + ", " + derivationSlider.getValue() + "%);";
}
});
derivedResultLabel.textProperty().bind(new StringBinding() {
{
bind(derivationSlider.valueProperty(), baseColorPicker.colorProperty());
}
@Override
protected String computeValue() {
Color base = baseColorPicker.getColor();
double derivation = derivationSlider.getValue();
Color result = ColorEncoder.deriveColor(base, derivation / 100);
return getColorString(result);
}
});
// BACKWARD
reverseResultColor = new Region();
reverseResultColor.setPrefSize(50, 20);
reverseResultLabel.setGraphic(reverseResultColor);
ChangeListener<Color> updateReverse = (ObservableValue<? extends Color> ov, Color t, Color desiredColor) -> {
updateReverse();
};
baseColorPicker.colorProperty().addListener(updateReverse);
desiredColorPicker.colorProperty().addListener(updateReverse);
}
use of javafx.scene.paint.Color in project fxexperience2 by EricCanull.
the class ColorPickerControl method onRGBChange.
private void onRGBChange(ActionEvent event) {
// Update UI
final Color color = updateUI_OnRGBChange();
final Object source = event.getSource();
assert source instanceof TextField;
((TextField) source).selectAll();
// Update model
setPaintProperty(color);
}
use of javafx.scene.paint.Color in project fxexperience2 by EricCanull.
the class ColorPickerControl method updateUI_OnRGBChange.
private Color updateUI_OnRGBChange() {
// retrieve RGB TextFields values
int red = Double.valueOf(red_textfield.getText()).intValue();
int green = Double.valueOf(green_textfield.getText()).intValue();
int blue = Double.valueOf(blue_textfield.getText()).intValue();
// retrieve HSB values from RGB values
final Color color = Color.rgb(red, green, blue);
double hue = color.getHue();
double saturation = color.getSaturation();
double brightness = color.getBrightness();
double alpha = Double.valueOf(alpha_textfield.getText());
return updateUI(hue, saturation, brightness, alpha);
}
Aggregations