0
我在SceneBuilder中創建了包含畫布對象的場景。現在我試圖在畫布上畫任何東西,但沒有出現。也許有人可以告訴我我做錯了什麼。謝謝你的建議。JavaFX我無法在場景構建器中創建的畫布上繪製任何東西
這裏是畫布對象的聲明:
public class ApplicationControler implements Initializable {
@FXML
public Canvas artHorizon;
和應吸取了東西的方法:
public void drawOval(){
artHorizon = new Canvas(400, 400);
GraphicsContext gc = artHorizon.getGraphicsContext2D();
gc.setFill(Color.DARKRED);
gc.fillOval(110, 30, 50, 50);
}
和主類:
public class Main extends Application {
@Override
public void start(Stage stage) throws Exception {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/application/MainPane.fxml"));
Parent parent = fxmlLoader.load();
Scene scene = new Scene(parent);
stage.setScene(scene);
stage.setTitle("Login Page");
stage.show();
ApplicationControler controller = fxmlLoader.getController();
controller.drawOval();
}
public static void main(String[] args) {
launch(args);
}
}
artHorizon = new Canvas(400,400);這可能是你的問題。我從來沒有試圖在畫布上繪畫,但是atrHorizon已經創建並且您正在創建一個新畫布。 – Sedrick
我從來沒有嘗試過controller.drawOval();主要。爲什麼不創建一個按鈕,在按下時繪製一個形狀或在drawOval中放入system.out.println(「hello」)以確保它正在運行? – Sedrick