gpt4 book ai didi

javafx - 带颜色渐变的边框

转载 作者:行者123 更新时间:2023-12-04 22:46:50 25 4
gpt4 key购买 nike

我想创建带有绿色渐变颜色的背景 BorderPane,如下例所示。问题是我必须如何用 Java 代码做到这一点?

例如:

.linear-grad2{
-fx-background-color: linear-gradient(from 25% 25% to 100% 100%, #dc143c, #32cd32);
}

我想用颜色选择器改变颜色。我不知道如何用 css 代码做到这一点。

最佳答案

赫·彼得,

前段时间我这样做了:

package de.professional_webworkx.blog.colorgradient;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.ColorPicker;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

/**
*
* @author ottp
*/
public class ColorGradient extends Application {

@Override
public void start(Stage primaryStage) {

final Pane pane = new BorderPane();
pane.setPrefWidth(300);
pane.setPrefHeight(200);
pane.setStyle("-fx-background-color: linear-gradient(from 25% 25% to 100% 100%, #dc143c, #661a33)");


final ColorPicker picker = new ColorPicker();
picker.setOnAction(new EventHandler<ActionEvent>() {

@Override
public void handle(ActionEvent t) {
Color value = picker.getValue();
String colorString = value.toString();
String substring = colorString.substring(2, colorString.length()-2);
pane.setStyle("-fx-background-color: linear-gradient(from 25% 25% to 100% 100%, #" + substring + ", #661a33)");
}
});


VBox vBox = new VBox();
vBox.getChildren().add(pane);
vBox.getChildren().add(picker);

Scene scene = new Scene(vBox);
primaryStage.setScene(scene);
primaryStage.show();
}

public static void main(String[] args) {
launch(args);
}

}

把它作为你自己解决方案的起点..
它只更改第一个颜色值。

帕特里克

关于javafx - 带颜色渐变的边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22007595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com