Я хочу нарисовать пиксели на холсте после нажатия кнопки (так в функции handleButtonAction моего FXMLDocumentController)
public class FXMLDocumentController implements Initializable {
@FXML
private Label label;
private Canvas canvas;
@FXML
private void handleButtonAction(ActionEvent event) {
//I'd like to perform the interaction with the Canvas here
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
но везде, где я смотрел, я видел только примеры, где холст был изменен в функции запуска, например:
public class BasicOpsTest extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Drawing Operations Test");
Group root = new Group();
Canvas canvas = new Canvas(300, 250);
GraphicsContext gc = canvas.getGraphicsContext2D();
drawShapes(gc);
root.getChildren().add(canvas);
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
private void drawShapes(GraphicsContext gc) {
gc.setFill(Color.GREEN);
gc.setStroke(Color.BLUE);
gc.setLineWidth(5);
gc.strokeLine(40, 10, 10, 40);
}
}
есть ли способ сделать это?