Intento crear algunas formas de la biblioteca javafx.

Entonces, en el método 'inicio', cuando creo un nuevo círculo y lo agrego a la raíz, no tengo ningún problema:

@Override
    public void start(Stage primaryStage) {
        Group root = new Group();
        Scene scene = new Scene(root, 800, 600, Color.LIGHTBLUE);
        primaryStage.setScene(scene);

        Circle cercle = new Circle();
        cercle.setCenterX(300);
        cercle.setCenterY(200);
        cercle.setRadius(100);
        cercle.setFill(Color.YELLOW);
        cercle.setStroke(Color.ORANGE);
        cercle.setStrokeWidth(5);

        root.getChildren().add(cercle);
        primaryStage.show();
    }

Pero, cuando trato de hacer esto con un rectángulo, el compilador no acepta y dibuja una línea roja debajo del método 'agregar'

@Override
    public void start(Stage primaryStage) {
        Group root = new Group();
        Scene scene = new Scene(root, 800, 600, Color.LIGHTBLUE);
        primaryStage.setScene(scene);

        Rectangle rectangle = new Rectangle();
        rectangle.setX(300);
        rectangle.setY(200);
        rectangle.setWidth(300);
        rectangle.setHeight(200);
        rectangle.setFill(Color.GREEN);
        rectangle.setStroke(Color.DARKGREEN);
        rectangle.setStrokeWidth(5);
        rectangle.setArcHeight(30);
        rectangle.setArcWidth(30);

        root.getChildren().add(rectangle);
        primaryStage.show();
    }

La compiladora dice:

El método add (Node) en el tipo List no es aplicable para los argumentos (Rectangle)

Veo esto en otros programas, funciona normalmente.

Nota: uso eclipse luna y jdk 8

1
user9152856 14 feb. 2018 a las 12:30

2 respuestas

La mejor respuesta

Uso

import javafx.scene.shape.Rectangle;

En lugar de

import java.awt.Rectangle;
1
KYL3R 14 feb. 2018 a las 10:08

com.sun.javafx.geom.Rectangle es una clase interna de JDK y NO extiende la clase Node pero no debería usar clases internas de todos modos. Elimine esta importación interna y reemplácela con:

import javafx.scene.shape.Rectangle

2
Kerry 14 feb. 2018 a las 11:22