/* * 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.Group; import javafx.scene.Scene; import javafx.scene.layout.*; var stroke = Color.DARKSLATEGRAY; var fill = Color.CADETBLUE; var alterfill = Color.GOLD; Stage { title: "Shapes" scene: Scene { fill: Color.LINEN; width: 250 height: 350 content: [ VBox{ translateY: 10 spacing: 30 content:[ HBox{ spacing: 30 content:[ Arc { centerX: 30 centerY: 50 radiusX: 25, radiusY: 25, startAngle: 45 length: 270 type: ArcType.ROUND stroke: bind stroke fill: null }, Path { stroke: bind stroke elements: [ MoveTo { x: 100 y: 30 }, ArcTo { x: 150 y: 50 radiusX: 40 radiusY: 20}, LineTo{ x: 100 y: 30} ] }, Circle { centerX: 0 centerY: 50 radius: 20 stroke: stroke fill: null } ]//content },//HBox HBox{ spacing: 30 content: [ CubicCurve { startX: 10 startY: 50 controlX1: 15 controlY1: 0 controlX2: 30 controlY2: 100 endX: 50 endY: 50 stroke: stroke fill: null }, Ellipse { centerX: 60 centerY: 50 radiusX: 40 radiusY: 25 stroke: stroke fill: null }, Line { startX: 50 startY: 30 endX: 70 endY: 70 stroke: stroke }, ] }, HBox{ spacing: 30 content:[ Polygon { fill: null stroke: stroke points: [ 10.0,30.0, 70.0,50.0, 60.0,70.0 ] }, Polyline { fill: null stroke: stroke points: [ 40.0,30.0, 60.0,40.0, 50.0, 60.0, 80.0, 50.0 ] }, QuadCurve { fill: null startX: 70.0 startY: 50.0 endX: 110.0 endY: 50.0 controlX: 100.0 controlY: 15.0 stroke: stroke } ] },//HBox HBox{ spacing: 30 content:[ Rectangle { fill: null x: 30 y: 20 width: 60 height: 50 arcWidth: 20 arcHeight: 20 stroke: stroke }, SVGPath{ content:"M20,30 L40,50 L60,30 L80,55 L100,30" fill: null stroke: stroke translateX: 40 } ] }//HBox ] }//VBox ] //content }//Scene }//Stage