我剛開始學習JavaFx。對於基本問題抱歉,但我在這裏呆了幾天。JavaFX:canvas不顯示任何內容
我構建了一個基於FXML的項目,並且希望在Canvas中顯示某些內容。畫布嵌入在一個堆棧窗格中,堆棧窗格嵌入在FXML窗口中。窗口中有一個按鈕,當我點擊它時,畫布應該顯示一些形狀。
現在的問題是,畫布不顯示任何東西。 ActionButtonStart
是按鈕操作方法。非常感謝!!
public class MainController implements Initializable{
@FXML
private StackPane windowHolder;
@FXML
private Canvas mainCanvas;
@Override
public void initialize(URL location, ResourceBundle resources) {
mainCanvas = new Canvas();
windowHolder = new StackPane();
}
public void ActionButtonStart(ActionEvent event){
//WindowNavigator.loadWindow(WindowNavigator.WINDOW_1_Welcome);
final GraphicsContext gc = mainCanvas.getGraphicsContext2D();
gc.clearRect(0, 0, mainCanvas.getWidth(), mainCanvas.getHeight());
gc.setFill(Color.BLACK);
gc.setFont(Font.getDefault());
gc.fillText("hello world!", 15, 50);
gc.setLineWidth(5);
gc.setStroke(Color.PURPLE);
gc.strokeOval(10, 60, 30, 30);
gc.strokeOval(60, 60, 30, 30);
gc.strokeRect(30, 100, 40, 40);
windowHolder.getChildren().add(mainCanvas);
}
public void setWindow(Node node) {
windowHolder.getChildren().setAll(node);
}
}