我正在尝试制作一个简单的hello world应用程序,并试图将画布添加到我的根目录中。我曾经只是做: root.getChildren()。add(canvas); 但这是行不通的,我的根突然有一个getChildren方法,我也不知道为什么。我们将非常感谢您提供一些有关如何解决此问题的帮助,否则将如何解决此问题。 我的代码:
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext; import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle("Hello World");
primaryStage.setScene(new Scene(root, 300, 275));
// Create canvas (Thing that you can draw on)
Canvas canvas = new Canvas(300,275);
// Add canvas to root
root.getChildren().add(canvas);
// Set Graphicscontect ie. the thing used to draw on a canvas
GraphicsContext gc = canvas.getGraphicsContext2D();
// Draw hello world and a globe
gc.setFill(Color.RED);
gc.setStroke(Color.BLACK);
gc.setLineWidth(2);
Font font = Font.font("Times New Roman", FontWeight.BOLD, 48);
gc.fillText("Hello World!", 60, 50);
gc.strokeText("Hello World", 60, 50);
// Show stage
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}