我正在学习本教程:
上面写着:
“JavaFX应用程序通过舞台和场景定义用户界面容器。JavaFX stage类是顶级JavaFX容器,JavaFX场景类是所有内容的容器.”
在JavaFX中,场景的内容表示为节点的分层场景图。在本例中,根节点是一个StackPane对象.
我不明白舞台物体的意义是什么。如果StackPane是根节点(我理解整个树结构),如果场景是所有内容的容器,那么阶段在做什么?为什么现场不能做这件事?
以下是代码:
public class HelloWorld extends Application {
@Override
public void st
我想在单击菜单时添加和删除新项目。这是我的菜单
Menu m = new Menu("Click For Options");
// create menuitems
MenuItem m1 = new MenuItem("Coin Calculator");
m.getItems().add(m1);
现在我有了一个场景,但在同一场景中,单击m1后,我想创建textArea并添加到场景中,然后单击确定验证用户输入
//create event for menu items
m1.setOnAction(e-&
我正在为一个游戏开发一个图形用户界面,我想将3D SubScene和JavaFX中的2D窗格混合在一起。我有一个名为root3D的组,它包含已经正确设置的所有3d对象,然后我将使用通过JavaFX场景生成器设置的FXML文件创建一个窗格。但是什么都没有出现,我只能看到我的3D物体。
PerspectiveCamera camera = new PerspectiveCamera(true);
camera.setTranslateZ(-30);
Group root3D = new Group(model1,model2,model3); //vari
我已经在JavaFX中创建了一个SSCCE来演示这个问题。它有两个场景。场景和舞台的尺寸都是600 x 400。每个场景都有一个按钮。当你按下它时,它会把你带到另一个场景。它工作得很好。
问题是:
如果我在程序window/stage最大化的时候改变场景,窗口会缩小到600 x 400大小,并停留在计算机屏幕的左上角。当我将光标悬停在“最大化/向下恢复”按钮上时,它显示“向下恢复”。所以程序认为它仍然是最大化的。但事实并非如此。如果我单击“向下恢复”,在恢复后窗口将移动到计算机屏幕的中心。
虽然窗口是最大化的,但我希望它在切换场景时保持不变。有谁能告诉我是怎么做的吗?我对JavaFX还很陌生。
我一直在使用新的JavaFx 3D api。JavaFx 8引入了子场景节点,该节点包含自己的场景图,可以同时作为场景中的一个节点呈现。这允许您在子场景中使用透视摄像机呈现三维节点,同时在顶部正交地呈现HUD节点。在尝试移动HUD组件之前,这很好。如果子场景中的节点没有移动,JavaFx将不会重新绘制它。所以它只留下了以前HUD曾经存在的黑色人工制品。有什么办法可以迫使场景重绘吗?
编辑:我设法解决问题的一种方法是将多维数据集无限期地从屏幕上呈现出来。因为它总是在旋转,所以子场景总是被更新。这似乎是一个荒谬的方法来解决它,但这是我目前所能做的最好的。还在寻找更好的解决方案..。
以前可能有人问过这个问题,但我找不到答案。我正在开发一个包含大量场景和动画的JavaFX应用程序。目前,我有不同的动画定时器和不同的场景,它们都定义在start()函数中,在扩展Application的主类中。然而,代码变得非常混乱和冗长。
有没有一种方法可以在一个单独的Java类中定义所有这些东西,然后简单地做一些类似于primaryStage.setScene(MyScene.getScene) - MyScene是包含所有场景代码的java类的事情。
就像这样:
public class TestScene {
private Group root = new Group();