/* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER * Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. * * This file is available and licensed under the following license: * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * * Neither the name of Sun Microsystems nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.shape.*; import javafx.scene.paint.Color; import javafx.scene.paint.Stop; import javafx.scene.paint.RadialGradient; import javafx.scene.paint.LinearGradient; import javafx.scene.paint.CycleMethod; import javafx.scene.Group; def stroke = Color.DARKSLATEGRAY; def fill = Color.CADETBLUE; def alterfill = Color.GOLD; def delta = 70; Stage { title: "Fill Styles" scene: Scene { fill: Color.LINEN; width: 250 height: 400 content: [ Group{ translateY: 10 content:[ Rectangle { x: 20 y: 60 width: 60 height: 50 arcWidth: 20 arcHeight: 20 stroke: stroke fill: fill }, Rectangle { x: 20 + delta y: 60 width: 60 height: 50 stroke: stroke fill: LinearGradient { startX: 0.0 startY: 0.0 endX: 1.0 endY: 0.0 proportional: true stops: [ Stop {offset: 0.0 color: fill }, Stop {offset: 1.0 color: alterfill} ] } }, Rectangle { x: 20 + 2 * delta y: 60 width: 60 height: 50 stroke: stroke fill: LinearGradient { startX: 0.0 startY: 0.0 endX: 220.0 endY: 0.0 proportional: false stops: [ Stop {offset: 0.0 color: fill }, Stop {offset: 1.0 color: alterfill} ] } } ] },//Group Group { content:[ Rectangle { x: 20 y: 160 width: 60 height: 50 arcWidth: 20 arcHeight: 20 stroke: stroke fill: RadialGradient { centerX: 0.25, centerY: 0.25, radius: 0.5, proportional: true stops: [ Stop {offset: 0.0 color: Color.WHITE}, Stop {offset: 0.5 color: Color.YELLOW}, Stop {offset: 1.0 color: Color.GOLD} ] } }, Rectangle { x: 20 + delta y: 160 width: 60 height: 50 arcWidth: 20 arcHeight: 20 stroke: stroke fill: RadialGradient { centerX: 30 + delta, centerY: 170, radius: 30, proportional: false cycleMethod: CycleMethod.REFLECT stops: [ Stop {offset: 0.0 color: Color.WHITE}, Stop {offset: 0.5 color: Color.YELLOW}, Stop {offset: 1.0 color: Color.GOLD} ] } }, Rectangle { x: 20 + 2 * delta y: 160 width: 60 height: 50 arcWidth: 20 arcHeight: 20 stroke: stroke fill: RadialGradient { centerX: 30 + 2 * delta, centerY: 170, radius: 30, proportional: false cycleMethod: CycleMethod.REPEAT stops: [ Stop {offset: 0.0 color: Color.WHITE}, Stop {offset: 0.5 color: Color.YELLOW}, Stop {offset: 1.0 color: Color.GOLD} ] } }//Rectangle ] }//Group ] //content }//Scene }//Stage