我目前正在尝试使用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);
}
}