【问题标题】:Rectangle with Gradient Color in javafxjavafx中带有渐变颜色的矩形
【发布时间】:2021-07-02 16:46:44
【问题描述】:

我在我的 javafx 应用程序中使用锚窗格。我想画一个矩形并用这样的渐变颜色填充它:矩形的左侧是蓝色,右侧是红色,我希望它看起来从左到右,蓝色减少,红色增加。

我知道如何放置一个矩形(如何在 javafx 中使用 Rectangle 类),但我不知道如何以这种方式填充它。有什么想法吗?

【问题讨论】:

  • setFill(new LinearGradient(...))?见docs

标签: java javafx


【解决方案1】:

有关线性渐变,请参阅 docs

public class Gradient extends Application {

    public static final double S = 100;

    @Override
    public void start(Stage stage) {
        Stop[] stops = new Stop[] {
                new Stop(0, Color.BLUE),
                new Stop(1, Color.RED)
        };
        LinearGradient gradient = new LinearGradient(
                0, 0,
                1, 0,
                true,
                CycleMethod.NO_CYCLE,
                stops
        );

        Rectangle rectangle = new Rectangle(S, S, gradient);

        stage.setScene(new Scene(new Group(rectangle)));
        stage.show();
    }

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

}

【讨论】:

  • 谢谢!你也可以提供这个问题的代码吗?我想添加一个鼠标单击选项,以删除矩形右侧的某些部分。 ( width = 10, height = S ) 这样在删除右侧之后,矩形中会剩下更多的蓝色。
  • @NaturalQuestioner Stackoverflow 不是代码编写服务。如果您仍然对附加要求有疑问,请在minimal reproducible example 中添加一个新问题(一个完整的、最小的、独立的示例,有人可以复制并粘贴以在不更改的情况下运行),这说明了您在开发解决方案,那么有人可能会帮助您。
  • @NaturalQuestioner 如果此答案是您原始问题的正确答案,请将其标记为正确答案。
  • 是的,是的!谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-24
  • 1970-01-01
  • 1970-01-01
  • 2021-06-23
  • 1970-01-01
相关资源
最近更新 更多