Ознайомлення з кольором JavaFX

У JavaFX колір можна використовувати для заповнення різних фігур, таких як прямокутник, еліпс, коло тощо. Використовуючи різні методи, можна зробити наші кольорові відтінки. Після його виготовлення його можна передати об’єкту фарби в метод setFill (). У цьому документі ми розглянемо кілька прийомів створення кольору.

Як створити колір у JavaFX?

Як вже було сказано, кольори можна виготовити різними методами:

1. Використання назви кольору

У цьому методі ім'я кольору буде використано для створення кольору. Це робиться за допомогою класу javafx.scene.paint.Color, де всі кольори доступні як властивості класу. Ім'я кольору може бути передано об'єкту класу Paint в метод setFill (). Ось приклад створення кольору за допомогою назви кольору.

Код:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.effect.DropShadow;
import javafx.scene.effect.Shadow;
//class that extends the application class
public class JavaFXColorExample extends Application (
//application starts at this point
@Override
public void start(Stage s) (
//create a group gp
Group gp = new Group();
//set the title
s.setTitle("Color sample using color name");
//create a rectangle r1
Rectangle r1 = new Rectangle();
//set the x coordinate of rectangle r1
r1.setX(50);
//set the x coordinate of rectangle r1
r1.setY(20);
//set the width and height of rectangle r1
r1.setWidth(110);
r1.setHeight(140);
//set the color as red by passing color name
r1.setFill(Color.RED);
//set an effect
r1.setEffect(new DropShadow());
//create a rectangle r2
Rectangle r2 = new Rectangle();
//set the x coordinate of rectangle r2
r2.setX(60);
//set the x coordinate of rectangle r2
r2.setY(60);
//set the width of rectangle r2
r2.setWidth(100);
//set the height of rectangle r2
r2.setHeight(150);
//set the color as GREEN by passing color name
r2.setFill(Color.GREEN);
//set an effect
r2.setEffect(new DropShadow());
//add children to the group
gp.getChildren().add(r1);
gp.getChildren().add(r2);
//create a scene sc
Scene sc = new Scene(gp, 700, 450);
//set the scene for the stage
s.setScene(sc);
//display the results
s.show();
)
public static void main(String() args) (
launch (args);
)
)

Вихід:

2. Використання веб-кольорів

Наступний спосіб створення кольору - це використання веб-кольору. Тут метод Color.web () в класі javafx.scene.paint.color буде використовуватися, коли будуть передані 2 параметри, такі як шістнадцяткове значення кольору і альфа-канал. Другий параметр Альфа-канал - необов'язковий параметр, що позначає непрозорість кольору. Альфа має діапазон значень 0, 0-1, 0, а також він може бути неявним або явним, як показано нижче.

Синтаксис:

//Red color and Alpha is implicit
Color.web("#ff0000")
//Red color and Alpha is explicit
Color.web("#ff0000", 1)

Код:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.effect.DropShadow;
import javafx.scene.effect.Shadow;
//class that extends the application class
public class JavaFXColorExample extends Application (
//application starts at this point
@Override
public void start(Stage s) (
//create a group gp
Group gp = new Group();
//set the title of the stage s
s.setTitle("Color sample using web color");
//create a rectangle r1
Rectangle r1 = new Rectangle();
//set the x coordinate of rectangle r1
r1.setX(50);
//set the x coordinate of rectangle r1
r1.setY(20);
//set the width of rectangle r1
r1.setWidth(100);
//set the height of rectangle r1
r1.setHeight(150);
//set the color of rectangle r1 as red by using color.web method
r1.setFill(Color. web ("#ff0000", 1));
//set an effect
r1.setEffect(new DropShadow());
//create a rectangle r2
Rectangle r2 = new Rectangle();
//set the x coordinate of rectangle r2
r2.setX(60);
//set the x coordinate of rectangle r2
r2.setY(60);
//set the width of rectangle r2
r2.setWidth(100);
//set the height of rectangle r2
r2.setHeight(150);
//set the color of rectangle r2 as black by using color.web method
r2.setFill(Color. web ("#000000", 1));
//set an effect
r2.setEffect(new DropShadow());
//add children to the group
gp.getChildren().add(r1);
gp.getChildren().add(r2);
//create a scene sc
Scene sc = new Scene(gp, 700, 450);
//set the scene for the stage
s.setScene(sc);
//display the results
s.show();
)
public static void main(String() args) (
launch(args); ))

Вихід:

3. Використання HSB Color

У JavaFX колір також можна створити за допомогою комбінації відтінку, насичення та яскравості, яка відома як колір HSB. Це робиться за допомогою класу javafx.scene.paint.Color, який складається з методу Color.hsb (), який вводить 3 цілих числа, таких як h, s і b.

Код:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.effect.DropShadow;
import javafx.scene.effect.Shadow;
//class that extends the application class
public class JavaFXColorExample extends Application (
//application starts at this point
@Override
public void start(Stage s) (
//create a group gp
Group gp = new Group();
//set the title of the stage s
s.setTitle("Color sample using HSB");
//create a rectangle r1
Rectangle r1 = new Rectangle();
//set the x coordinate of rectangle r1
r1.setX(50);
//set the x coordinate of rectangle r1
r1.setY(20);
//set the width of rectangle r1
r1.setWidth(100);
//set the height of rectangle r1
r1.setHeight(150);
//set an effect
r1.setEffect(new DropShadow());
//add children to the group
gp.getChildren().add(r1);
//create a scene sc
Scene sc = new Scene(gp, 700, 450, Color. hsb (180, 0, 1));
//set the scene
s.setScene(sc);
//display the results
s.show();
)
public static void main(String() args) (
launch (args);
)
)

Вихід:

4. Використання RGB Color

Одним з найпоширеніших методів створення кольору є кольорова система RGB, де червоний, зелений та синій - 3 компоненти. Це робиться за допомогою класу javafx.scene.paint.Color, який складається з методу rgb (), який вводить 3 цілих числа r, g і b.

Код:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.effect.DropShadow;
import javafx.scene.effect.Shadow;
//class that extends the application class
public class JavaFXColorExample extends Application (
//application starts at this point
@Override
public void start(Stage s) (
//create a group gp
Group gp = new Group();
//set the title of the stage s
s.setTitle("Color sample using RGB");
//create a rectangle r
Rectangle r1 = new Rectangle();
//set the x coordinate of rectangle r1
r1.setX(50);
//set the x coordinate of rectangle r1
r1.setY(20);
//set the width and height of rectangle r1
r1.setWidth(100);
r1.setHeight(140);
r1.setFill(Color. rgb (20, 125, 10, 0.63));
//add children to the group
gp.getChildren().add(r1);
//create a scene sc
Scene sc = new Scene(gp, 700, 450);
//set the scene
s.setScene(sc);
//display the results
s.show();
)
public static void main(String() args) (
launch (args);
)
)

Вихід:

Висновок

Кольори використовуються для заповнення фігур, і це можна зробити за допомогою різних методів. Усі ці методи розглядаються в цьому документі.

Рекомендована стаття

Це посібник з JavaFX Color. Тут ми обговорюємо створення кольору в JavaFX з використанням різних методів разом з реалізацією та виведенням коду. Ви також можете ознайомитись із запропонованими нами статтями, щоб дізнатися більше -

  1. Топ 5 макетів JavaFX
  2. Програми JavaFX з функціями
  3. JavaFX vs Swing | Топ-6 порівняння
  4. Мітка JavaFX (приклади)
  5. Як створити прапорець у JavaFX за допомогою прикладів?
  6. Приклади прапорця в Bootstrap
  7. Повне керівництво по методам JavaFX VBox
  8. Посібник з меню в JavaFX з прикладами?