在“使用场景构建器创建的画布上绘制”

时间:2015-10-02 18:03:11

标签: java javafx

我目前正在尝试使用Javafx创建一个小程序。 UI是使用“场景”构建器创建的。我现在想要在布局中间放置的Canvas上画画。我尝试了很多东西,例如下面显示的代码。但是没有画出任何东西。我怎么能这样做?如果我想重绘我画的东西,我怎么能这样做?

Controller.java

public class Controller {

@FXML
private Canvas canvas;

public void createGrid(){
    GraphicsContext g = canvas.getGraphicsContext2D();

    g.rect(100,100,300,300);
}

}

Main.java

public class Main extends Application {

@Override
public void start(Stage primaryStage) throws Exception{
    FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("layout.fxml"));
    Parent root = fxmlLoader.load();


    primaryStage.setTitle("Pathfinding");
    primaryStage.setScene(new Scene(root));
    primaryStage.show();


    Controller controller = fxmlLoader.getController();
    controller.createGrid();
}


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

}

0 个答案:

没有答案