我尝试创建一些形状的javafx库。

因此,在“开始”方法中,当我创建一个新圆并将其添加到根中时,我没有任何问题:

@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();
    }


但是,当我尝试使用矩形执行此操作时,编译器不接受,并在“ add”方法下绘制一条红线

@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();
    }


编译器说:


  List类型中的add(Node)方法不适用于
  参数(矩形)


我在其他程序中看到了这一点,它正常工作。

注意:我使用Eclipse Luna和JDK 8

最佳答案

采用

import javafx.scene.shape.Rectangle;


代替

import java.awt.Rectangle;

09-11 19:31