Bevezetés a JavaFX színesbe

A JavaFX programban a szín felhasználható a különböző alakzatok kitöltésére, például téglalap, ellipszis, kör stb. Különböző módszerekkel lehetséges a színárnyalataink elkészítése. Az elkészítés után továbbadható a festék tárgyához a setFill () módszerbe. Ebben a dokumentumban számos technikát fogunk tárgyalni a szín létrehozásához.

Hogyan hozhatunk létre színt a JavaFX-ben?

Mint már említettük, a színek különféle módszerekkel állíthatók elő:

1. A szín nevének használata

Ebben a módszerben a szín nevét kell használni a szín létrehozásához. Ez a javafx.scene.paint.Color osztály segítségével történik, ahol az összes szín elérhető az osztály tulajdonságai szerint. A színnevet át lehet adni a Paint osztály objektumának a setFill () módszerbe. Íme egy példa a szín létrehozására egy színnév használatával.

Kód:

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);
)
)

Kimenet:

2. A Web Color használata

A szín létrehozásának következő módja egy webes szín használata. Itt a javafx.scene.paint.color osztály Color.web () módszerét kell használni, ahol 2 paraméter kerül átadásra, mint például a szín hexa értéke és egy alfa-csatorna. A második alfa-csatorna paraméter egy opcionális paraméter, amely a szín átlátszóságát jelöli. Az Alpha értéke 0.0–1.0 lehet, és implicit vagy explicit is lehet, amint az alább látható.

Szintaxis:

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

Kód:

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); ))

Kimenet:

3. A HSB színes használata

A JavaFX alkalmazásban a színek színárnyalat, telítettség és fényerő kombinációjával is létrehozhatók, amelyet HSB színnek hívnak. Ez a javafx.scene.paint.Color osztály segítségével történik, amely a Color.hsb () metódusból áll, amely 3 egész számot ad be, mint h, s és b.

Kód:

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);
)
)

Kimenet:

4. Az RGB színes használata

Az egyik leggyakoribb módszer a színek létrehozására az RGB színrendszer, ahol a vörös, a zöld és a kék a 3 komponens. Ez a javafx.scene.paint.Color osztály segítségével történik, amely egy rgb () metódusból áll, amely 3 r, g és b egész számot ír be.

Kód:

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);
)
)

Kimenet:

Következtetés

A formák kitöltésére színeket használnak, és különféle módszerekkel megtehető. Ezeket a módszereket tárgyalja a dokumentum.

Ajánlott cikk

Ez a JavaFX Color útmutatója. Itt tárgyaljuk a Szín létrehozása a JavaFX-ben különféle módszerekkel, a kód implementációja és kimenete mellett. akkor is áttekintheti javasolt cikkeinket, hogy többet megtudjon -

  1. Az 5 legfontosabb JavaFX elrendezés
  2. JavaFX alkalmazások szolgáltatásokkal
  3. JavaFX vs Swing | A 6 legjobb összehasonlítás
  4. JavaFX címke (példák)
  5. Hogyan hozhatunk létre jelölőnégyzetet a JavaFX alkalmazásban példákkal?
  6. Példák a Bootstrap jelölőnégyzetére
  7. Teljes útmutató a JavaFX VBox módszereire
  8. Útmutató a JavaFX menüjéhez példákkal?

Kategória: