我想在一个扩展场景的类中画一张画布。当我按下场景上的按钮时,这个场景应该显示出来,这个场景是在扩展application
的类“GUI”中创建的。
Scene gameScene = new GameScene(root,800,600);
ImageView mapView
设置图像(我不知道要将ImageView作为子节点添加到哪个节点{类似Parent.GetChildren().add(mapView)
不起作用})GUI
类:
public class GUI extends Application {
public static void main(String[] args) { launch(args); }
public void start(Stage primaryStage){
StackPane root = new StackPane();
Group game = new Group();
root.getChildren().add(game);
Scene gameScene = new GameScene(game,800,600);
Button btn = new Button();
btn.setText("Start Game");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
primaryStage.setScene(gameScene);
primaryStage.show();
}
});
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 650,450));
primaryStage.show();
}
}
和GamesCene
类:
public class GameScene extends Scene {
private final double WIDTH;
private final double HEIGHT;
public Canvas mapCanvas;
private Map map;
public GameScene(Parent parent, double x, double y) {
super(parent, x, y);
ImageView mapView = new ImageView();
WIDTH = x;
HEIGHT = y;
this.map = new Map((int)x,(int)y);
mapCanvas = new Canvas(WIDTH,HEIGHT);
mapView.setImage(map.getImage());
GraphicsContext graphicsContext = mapCanvas.getGraphicsContext2D();
draw(graphicsContext);
}
public void draw(GraphicsContext gc){
gc.fillRect(10, 10, 100, 50);
}
}
PS:Jeah!我在这个论坛上的第一个问题。你好世界!
一年后...
将“parent”替换为“Group”或do:(Group)parent
在我第一次使用JavaFX时,场景被错误地显示,我没有找到原因。例如,在E(fx)clipse页面的第一个基本教程中提出了以下代码: 它应该显示文本“Hello FX”,但显示以下内容: 我的Java版本是适用于Windows 64(Win 7)的8u65。
我一直试图从控制器打开一个新窗口以显示进度条: 请帮忙。没有例外,也没有错误。谢谢 编辑:我已经找到了它不显示的原因,这是因为在后面的代码中我有一个函数:阻止程序刷新我的场景和显示元素。是否有一种方法可以在后台或另一个线程中运行这一行(我以前从未使用过线程)再次感谢你的帮助。
问题内容: 我有一个使用javafx Scene来渲染某些东西的应用程序,并且我想将该渲染结果放入我在Javafx中创建的某些GUI中。我该怎么做? 基本上,有一些容器可以放入场景,然后将其放入GUI。 抱歉,如果是新手问题,我是JavaFX的新手 问题答案: 该场景只有一个顶级父节点作为根。您可以获取它并放入另一个场景。
我写信是为了获取有关JavaFX的一些信息。我使用SceneBuilder设计了一个应用程序,它有一个主要场景,由几个文本字段和用于浏览文件的按钮组成。程序运行后还有一个用于输出的文本区域。我在控制器的初始化方法中添加了更改侦听器,以便在更新输出文本区域时修改日志文件。 最初,我使用输出文本区域来显示日志文件,对其进行了测试。一旦我从主文件菜单中选择了“查看日志”菜单项,我就能够在这个输出文本区域
我创建了一个游戏,我想给它添加一个开始屏幕,我使用FXML添加了它,还添加了两个按钮(开始和退出)。 按下开始按钮后,我希望游戏加载场景并切换到游戏开始。我对如何做有一个粗略的想法,但我有点挣扎,因为我的SampleController类不知道如何启动游戏等,因为所有代码(以及加载初始开始菜单的代码)都在我的主类中,所以我尝试了这样的事情: 我尝试使用一个函数来切换场景,但它不起作用,也试图使用获
}`我正在计划在同一舞台上使不同的部分成为自己的场景。如果有任何帮助,我将不胜感激。我正在使用NetBeans8.2。