2016-12-25 8 views
0

Мы начали изучать javafx 3d и используя TriangleMesh. я пытаюсь сделать простое право (90 градусов) traingle. (0,0), (0,50), (50,0) Что случилось с моим кодом? ПожалуйстаРисование простого треугольника 90 градусов в javaFX

public class TT extends Application{ 



public void start(Stage primaryStage){ 
      TriangleMesh sqMesh=new TriangleMesh(); 

      sqMesh.getPoints().addAll(
       0.0f,0.0f,0.0f, //1top 
       0.0f,50.0f,0.0f, //1left 
       50.0f,0.0f,0.0f //1right 

      ); 

      sqMesh.getTexCoords().addAll(
        0,0 
        ); 
      sqMesh.getFaces().addAll(
       0,0, 1,0, 2,0 

      ); 

      Group group=new Group(); 
      MeshView sq=new MeshView(); 
      sq.setMesh(sqMesh); 
      sq.setTranslateX(200); 
      sq.setTranslateY(100); 
      sq.setTranslateZ(0); 
      group.getChildren().add(sq); 
      StackPane root=new StackPane(); 
      Scene scene=new Scene(root,900,600); 
      primaryStage.setScene(scene); 
      primaryStage.show(); 
} 

public static void main(String[] args) { 
     launch(args); 
} 

}

ответ

1

Прежде всего, вы не добавили ничего такого же корневого StackPane. Это должно решить вашу проблему.

root.getChildren().addAll(group); 

Однако размер окна очень велик по отношению к треугольнику, так что я предлагаю, чтобы установить размер окна автоматически к тому, что в окне, создавая сцену следующим образом (без размера параметров):

Scene scene=new Scene(root); 

И потому, что цвет треугольника очень похож на цвет фона, я также предлагаю вам изменить цвет треугольника к чему-то более значительным, как и что:

sq.setMaterial(new PhongMaterial(Color.BLACK)); 
+0

Wow большой я поступиться t, глупый. – demianr

+0

Спасибо :-) :-) :-) :-) – demianr

+0

Извините, он еще не рисует треугольник. – demianr

Смежные вопросы