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