如何在javafx中点击按钮时显示3d形状

时间:2017-05-02 01:11:49

标签: java javafx 3d fxml

对于我的编程课程的个人项目,稍后发布,我遇到了一个我不希望遇到的问题。我想在单击菜单按钮项目时在窗格中显示3D形状,我通过互联网搜索它以50-100种不同的方式搜索(或者粗略估计)并且没有在其上找到任何内容。我在单击菜单项时如何显示3d形状时感到困惑,这里是我的源代码(fxml):

<MenuButton layoutX="14.0" layoutY="92.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="72.0" text="shapes">
     <items>
        <MenuItem mnemonicParsing="false" onAction="#itemcircle" text="circle" />
        <MenuItem mnemonicParsing="false" onAction="#itemsquare" text="square/surfice" />
        <MenuItem mnemonicParsing="false" onAction="#itemcube" text="cube" />
        <MenuItem mnemonicParsing="false" onAction="#itemsphere" text="sphere" />
        <MenuItem mnemonicParsing="false" onAction="#itemcyllinder" text="cyllinder" />
     </items>
  </MenuButton>

我的其他源代码示例(javaFX):

public void itemcyllinder(ActionEvent cyllinderspawn)
{
    Cylinder cylinder = new Cylinder(40, 120);
    cylinder.setTranslateX(500);
    cylinder.setTranslateY(-25);
    cylinder.setTranslateZ(600);
}

那么如何使用javafx / fxml显示3d形状/对象?

编辑:我忘了提及我希望它显示在我的场景中的窗格中

2 个答案:

答案 0 :(得分:0)

我还没有尝试过,但我会尝试在SubScene上创建一个3D场景,并将其设置为菜单项的graphic property

编辑:以为您想将3D场景设置为菜单项的图形。无论如何要混合2D和3D,你需要创建SubScenes。

答案 1 :(得分:0)

我找到了答案,这就是我需要对气缸做的所有事情:

public void itemcyllinder(ActionEvent cyllinderspawn)
{
    Cylinder cylinder = new Cylinder(40, 120);
    cylinder.setTranslateX(368.0);
    cylinder.setTranslateY(311.0);
    whereitgoes.getChildren().add(cylinder);
}

我调用了我的窗格,然后我只是使用了getChildren在窗格中显示了圆柱体我在调用的地方点击菜单按钮项目点击(抱歉,我不能给出图片示例)