Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package labo6;
- import javafx.application.Application;
- import static javafx.application.Application.launch;
- import javafx.event.EventHandler;
- import javafx.geometry.Insets;
- import javafx.scene.Scene;
- import javafx.scene.control.CheckBox;
- import javafx.scene.control.Label;
- import javafx.scene.control.Slider;
- import javafx.scene.input.MouseEvent;
- import javafx.scene.layout.Background;
- import javafx.scene.layout.BackgroundFill;
- import javafx.scene.layout.CornerRadii;
- import javafx.scene.layout.GridPane;
- import javafx.scene.paint.Color;
- import javafx.stage.Stage;
- public class ColorAppRevised extends Application {
- public void start(Stage primaryStage) {
- Label lblRed = new Label("Red:");
- Label lblGreen = new Label("Green:");
- Label lblBlue = new Label("Blue:");
- Label lblColour = new Label();
- Slider sldRed = new Slider(0, 255, 0);
- Slider sldGreen = new Slider(0, 255, 0);
- Slider sldBlue = new Slider(0, 255, 0);
- CheckBox chkGray = new CheckBox("Gray");
- sldRed.setShowTickLabels(true);
- sldRed.setShowTickMarks(true);
- sldRed.setMajorTickUnit(100);
- sldRed.setBlockIncrement(25);
- sldRed.setOnMouseDragged(new EventHandler<MouseEvent>() {
- public void handle(MouseEvent event) {
- if (chkGray.isSelected()) {
- double average = (sldRed.getValue() + sldGreen.getValue() + sldBlue.getValue()) / (3.0 * 255);
- sldRed.setValue(average*255);
- sldGreen.setValue(average*255);
- sldBlue.setValue(average*255);
- }
- lblColour.setBackground(new Background(new BackgroundFill(Color.color(sldRed.getValue() / 255, sldGreen.getValue() / 255, sldBlue.getValue() / 255), CornerRadii.EMPTY, Insets.EMPTY)));
- }
- });
- sldGreen.setShowTickLabels(true);
- sldGreen.setShowTickMarks(true);
- sldGreen.setMajorTickUnit(100);
- sldGreen.setBlockIncrement(25);
- sldGreen.setOnMouseDragged(new EventHandler<MouseEvent>() {
- public void handle(MouseEvent event) {
- if (chkGray.isSelected()) {
- double average = (sldRed.getValue() + sldGreen.getValue() + sldBlue.getValue()) / (3.0 * 255);
- sldRed.setValue(average*255);
- sldGreen.setValue(average*255);
- sldBlue.setValue(average*255);
- }
- lblColour.setBackground(new Background(new BackgroundFill(Color.color(sldRed.getValue() / 255, sldGreen.getValue() / 255, sldBlue.getValue() / 255), CornerRadii.EMPTY, Insets.EMPTY)));
- }
- });
- sldBlue.setShowTickLabels(true);
- sldBlue.setShowTickMarks(true);
- sldBlue.setMajorTickUnit(100);
- sldBlue.setBlockIncrement(25);
- sldBlue.setOnMouseDragged(new EventHandler<MouseEvent>() {
- public void handle(MouseEvent event) {
- if (chkGray.isSelected()) {
- double average = (sldRed.getValue() + sldGreen.getValue() + sldBlue.getValue()) / (3.0 * 255);
- sldRed.setValue(average*255);
- sldGreen.setValue(average*255);
- sldBlue.setValue(average*255);
- }
- lblColour.setBackground(new Background(new BackgroundFill(Color.color(sldRed.getValue() / 255, sldGreen.getValue() / 255, sldBlue.getValue() / 255), CornerRadii.EMPTY, Insets.EMPTY)));
- }
- });
- chkGray.setOnMouseClicked(new EventHandler<MouseEvent>() {
- @Override
- public void handle(MouseEvent event) {
- if (chkGray.isSelected()) {
- double average = (sldRed.getValue() + sldGreen.getValue() + sldBlue.getValue()) / (3.0 * 255);
- sldRed.setValue(average*255);
- sldGreen.setValue(average*255);
- sldBlue.setValue(average*255);
- lblColour.setBackground(new Background(new BackgroundFill(Color.color(average, average, average), CornerRadii.EMPTY, Insets.EMPTY)));
- }
- }
- });
- lblColour.setBackground(new Background(new BackgroundFill(Color.color(sldRed.getValue() / 255, sldGreen.getValue() / 255, sldBlue.getValue() / 255), CornerRadii.EMPTY, Insets.EMPTY)));
- lblColour.setMinSize(100, 100);
- GridPane root = new GridPane();
- root.setHgap(45);
- root.setVgap(15);
- root.setPadding(new Insets(40, 40, 40, 40));
- root.add(lblRed, 0, 0);
- root.add(lblGreen, 0, 1);
- root.add(lblBlue, 0, 2);
- root.add(sldRed, 1, 0);
- root.add(sldGreen, 1, 1);
- root.add(sldBlue, 1, 2);
- root.add(lblColour, 2, 1);
- root.add(chkGray, 1, 4);
- Scene scene = new Scene(root);
- primaryStage.setTitle("ColorAppRevised");
- primaryStage.setScene(scene);
- primaryStage.setResizable(false);
- primaryStage.show();
- }
- public static void main(String[] args) {
- launch(args);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement