You can apply colors to fill a shape, draw border line colors etc.,
How to define Colors?
Colors can be defined in following ways.
a. Constants
b. Constructors
c. Utility methods.
d. Using Hex Web values
e. Using hsb color model
Using Color constants
Color class defines multiple public static constants, you can use them directly. There are more than 200 built-in color constants available in Java Color class.
Example
Color c1 = Color.GREEN;
Using Constructors
Color class provides following constructor to define an instance of Color.
public Color(double red, double green, double blue, double opacity)
Example
Color c2 = new Color(0, 1, 0, 1);
Using Utility methods
Color class provides following utility methods to define color instance.
public static Color color(double red, double green, double blue)
public static Color color(double red, double green, double blue, double opacity)
public static Color rgb(int red, int green, int blue)
public static Color rgb(int red, int green, int blue, double opacity)
Example
Color c3= Color.color(0, 1, 0);
Color c4 = Color.color(0, 1, 0, 1);
Color c5 = Color.rgb(0, 1, 0);
Color c6 = Color.rgb(0, 1, 0, 1);
Using Hex Web values
Color class provides ‘web’ method to create an RGB color specified with an HTML or CSS attribute string.
public static Color web(String colorString)
Creates an RGB color specified with an HTML or CSS attribute string.
public static Color web(String colorString, double opacity)
Creates an RGB color specified with an HTML or CSS attribute string and with given opacity.
Examples
Color.web("green");
Color.web("green", 0.5);
Color.web("ox00ff00");
Color.web("ox00ff00", 0.5);
Color.web("rgb(100%,50%,50%)");
Color.web("rgb(255,50%,50%,0.25)");
Using hsb color model
public static Color hsb(double hue, double saturation, double brightness)
Creates an opaque Color based on the specified values in the HSB color model.
public static Color hsb(double hue, double saturation, double brightness, double opacity)
Creates a Color based on the specified values in the HSB color model, and a given opacity.
Example
Color c9 = Color.hsb(10, 0.5, 0.5);
Color c10 = Color.hsb(10, 0.5, 0.5, 0.5);
Find the below working application.
ColorDemo.fxml
<?import javafx.scene.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<StackPane xmlns:fx="http://javafx.com/fxml" fx:controller="com.sample.app.controller.ColorController">
<Rectangle fx:id="rectangle1" fill="black" width="300" height="100" />
<Rectangle fx:id="rectangle2" fill="#f0fff0" width="200" height="70" />
<Rectangle fx:id="rectangle3" fill="lightgreen" width="100" height="40" />
</StackPane>
ColorController.java
package com.sample.app.controller;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.shape.Rectangle;
public class ColorController implements Initializable {
@FXML
private Rectangle rectangle1;
@FXML
private Rectangle rectangle2;
@FXML
private Rectangle rectangle3;
@Override
public void initialize(URL location, ResourceBundle resources) {
// Write custom logic here
}
}
ColorDemo.java
package com.sample.app;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class ColorDemo extends Application {
public static void main(String args[]) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = (Parent) FXMLLoader.load(ColorDemo.class.getResource("/ColorDemo.fxml"));
Scene scene = new Scene(root, 500, 500, Color.WHITE);
primaryStage.setTitle("StackPane Demo");
primaryStage.setScene(scene);
primaryStage.show();
}
}
Output
No comments:
Post a Comment