本文概述
- 线性渐变
- 实例方法
- 建设者
- 径向渐变
- 建设者
JavaFX使我们能够实现两种类型的渐变颜色过渡:
- 线性渐变
- 径向渐变
实例方法
类型 | 方法 | 描述 |
---|---|---|
Boolean | equals(Object o) | 比较两个对象 |
CycleMethod | getCycleMethod() | 定义已将哪种循环方法应用于LinearGradient。 |
Double | getEndX() | 倾斜轴终点的X坐标 |
Double | getEndY() | 倾斜轴终点的Y坐标 |
Double | getStartX() | 倾斜轴起点的X坐标 |
Double | getStartY() | 倾斜轴起点的Y坐标 |
List< Stop> | getStops() | 定义沿渐变的颜色分布方式 |
Int | hashCode() | 返回线性渐变对象的哈希码 |
Boolean | isOpaque() | 检查涂料是否完全不透明。 |
Boolean | isProprtional() | 检查起点和终点位置是否成比例。 |
String | toString() | 将Gradient对象转换为字符串。 |
新的LinearGradient(startX, startY, endX, endY, Proportional, CycleMethod, stops)
(startX, startY):代表渐变颜色起点的x和y坐标。
(endX, endY):代表渐变颜色终点的x和y坐标。
比例:这是布尔类型的属性。如果为真, 则渐变颜色的起点和终点将成比例。
CycleMethod:定义应用于渐变的循环方法。
停止:定义沿渐变的颜色分布。
例:
package application;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.paint.CycleMethod;
import javafx.scene.paint.LinearGradient;
import javafx.scene.paint.Stop;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
public class Shape_Example extends Application {@Overridepublic void start(Stage primaryStage) {VBox root = new VBox();
final Scene scene = new Scene(root, 300, 250);
Stop[] stops = new Stop[] { new Stop(0, Color.GREEN), new Stop(1, Color.BLUE)};
LinearGradient linear = new LinearGradient(0, 0, 1, 0, true, CycleMethod.NO_CYCLE, stops);
Rectangle rect = new Rectangle(0, 0, 100, 100);
rect.setFill(linear);
root.getChildren().add(rect);
primaryStage.setScene(scene);
primaryStage.setTitle("Animation Example");
primaryStage.show();
}public static void main(String[] args) {launch(args);
} }
文章图片
径向渐变 要将Radial渐变应用于形状, 我们需要实例化javafx.scene.paint.RadialGradient类。此类包含下表中描述的各种实例方法。
类型 | 方法 | 描述 |
---|---|---|
Boolean | equals(Object o) | 比较两个对象 |
Double | getCenterX() | 定义渐变的圆的X坐标 |
Double | getCenterY() | 定义渐变的圆的Y坐标 |
CycleMethod | getCycleMethod() | 定义已将哪种循环方法应用于LinearGradient。 |
Double | getFocusAngle() | 渐变中心与映射第一种颜色的位置的焦点之间的角度(以度为单位) |
Double | getFocusDistance() | 渐变中心与第一种颜色的焦点之间的距离。 |
Double | getRadius | 渐变半径 |
List< Stop> | getStops() | 定义沿渐变的颜色分布方式 |
Int | hashCode() | 返回线性渐变对象的哈希码 |
Boolean | isOpaque() | 检查涂料是否完全不透明。 |
Boolean | isProprtional() | 检查起点和终点位置是否成比例。 |
String | toString() | 将Gradient对象转换为字符串。 |
public RadialGradient(double focusAngle, double focusDistance, double centerX, double centerY, double radius, boolean proportional, CycleMethod cycleMethod, Stops? stops)
例
package application;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.paint.CycleMethod;
import javafx.scene.paint.RadialGradient;
import javafx.scene.paint.Stop;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class RadialGradientClass extends Application {public static void main(String[] args) {Application.launch(args);
}@Overridepublic void start(final Stage primaryStage) {primaryStage.setTitle("Radial Gradient Example");
Group root = new Group();
Scene scene = new Scene(root, 400, 300, Color.WHITE);
primaryStage.setScene(scene);
addRectangle(scene);
primaryStage.show();
}private void addRectangle(final Scene scene) {Circle C = new Circle(200, 150, 100);
RadialGradient gradient1 = new RadialGradient(0, .1, 100, 100, 200, false, CycleMethod.NO_CYCLE, new Stop(0, Color.YELLOW), new Stop(1, Color.RED));
C.setFill(gradient1);
final Group root = (Group) scene.getRoot();
root.getChildren().add(C);
}}
文章图片
推荐阅读
- JavaFX HBox
- JavaFX GridPane
- JavaFX发光效果
- 桌面图标怎样变小,本文教您处理桌面图标变小的办法
- 怎样更改wifi密码,本文教您更改WiFi密码的办法
- 浏览器打开不了,本文教您处理浏览器打开不了页面的办法
- 格式化命令,本文教您格式化命令format
- 如何在word中打钩,本文教您在word中打钩的办法
- 网络连接不上,本文教您网络连接不上显示感叹号