Javafx线性渐变重复似乎反映了颜色而不是重复。
我编写了一个简单的应用程序,以显示在自定义节点(StackPane)上的应用程序中使用线性渐变和重复创建条纹图案时看到的内容。在我的应用程序中,这是作为叠加层添加到XYChart中的,它们的高度各不相同。使用Rectangle效果不佳,这就是为什么我使用Stackpane并在其上设置样式而不是通过编程方式创建LinearGradient的原因。颜色列表是动态的,并且在应用程序中大小会有所不同。问题是线性渐变翻转列表并在每次重复而不是仅重复时反映颜色的方式。
该链接描述了一个类似的问题,但只是添加无休止的停顿似乎对我的问题来说似乎是一个混乱的解决方案,所以最好只添加一次颜色并重复一次。
java.util.List;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
BorderPane root = new BorderPane();
List<Color> colors = Arrays.asList( Color.RED,Color.BLUE,Color.YELLOW,Color.GREEN);
StackPane stackPane = new StackPane();
stackPane.setStyle(getLinearGradientStyle(colors));
root.setCenter(stackPane);
Scene scene = new Scene(root, 400, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
catch (Exception e) {
e.printStackTrace();
}
}
private String getLinearGradientStyle(List<Color> colors) {
StringBuilder stringBuilder = new StringBuilder("-fx-background-color: linear-gradient(from 0px 0px to 10px …Run Code Online (Sandbox Code Playgroud)