YauhenMardan

Untitled

Apr 9th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1. package sample;
  2.  
  3. import com.sun.scenario.effect.Color4f;
  4. import com.sun.scenario.effect.light.SpotLight;
  5. import javafx.application.Application;
  6. import javafx.event.EventHandler;
  7. import javafx.fxml.FXMLLoader;
  8. import javafx.geometry.VPos;
  9. import javafx.scene.*;
  10. import javafx.scene.effect.Light;
  11. import javafx.scene.effect.Lighting;
  12. import javafx.scene.input.KeyCode;
  13. import javafx.scene.input.KeyEvent;
  14. import javafx.scene.paint.Color;
  15. import javafx.scene.shape.CullFace;
  16. import javafx.scene.shape.Rectangle;
  17. import javafx.scene.text.Font;
  18. import javafx.scene.text.FontWeight;
  19. import javafx.scene.text.Text;
  20. import javafx.stage.Stage;
  21. import org.fxyz.scene.paint.Palette;
  22. import org.fxyz.shapes.composites.PolyLine3D;
  23. import org.fxyz.shapes.primitives.SpringMesh;
  24. import org.fxyz.shapes.primitives.Text3DMesh;
  25. import org.fxyz.utils.CameraTransformer;
  26.  
  27. import java.awt.*;
  28.  
  29. public class Main extends Application {
  30.  
  31. public static final int WINDOW_WIDTH=1200;
  32. public static final int WINDOW_HEIGHT=800;
  33.  
  34. @Override
  35. public void start(Stage primaryStage) throws Exception {
  36. PerspectiveCamera camera = new PerspectiveCamera(true);
  37. camera.setNearClip(0.1);
  38. camera.setFarClip(10000.0);
  39. camera.setTranslateX(0);
  40. camera.setTranslateZ(-500);
  41. camera.setFieldOfView(90);
  42.  
  43. // AmbientLight light=new AmbientLight(Color.GOLD);
  44. // PointLight light=new PointLight(Color.GOLD);
  45. Light.Spot light = new Light.Spot();
  46. light.setX(150);
  47. light.setY(100);
  48. light.setZ(80);
  49. light.setPointsAtX(0);
  50. light.setPointsAtY(0);
  51. light.setPointsAtZ(-50);
  52. light.setSpecularExponent(2);
  53.  
  54. Lighting lighting = new Lighting();
  55. lighting.setLight(light);
  56. lighting.setSurfaceScale(5.0);
  57.  
  58. Text text = new Text();
  59. text.setText("Spot");
  60. text.setFill(Color.STEELBLUE);
  61. text.setFont(Font.font(null, FontWeight.BOLD, 80));
  62. text.setX(10.0);
  63. text.setY(10.0);
  64. text.setTextOrigin(VPos.TOP);
  65. text.setEffect(lighting);
  66.  
  67. javafx.scene.shape.Rectangle rect = new Rectangle(200, 150);
  68. rect.setFill(Color.ALICEBLUE);
  69. rect.setEffect(lighting);
  70.  
  71. CameraTransformer cameraTransform = new CameraTransformer();
  72. cameraTransform.getChildren().add(camera);
  73. cameraTransform.ry.setAngle(0);
  74. cameraTransform.rx.setAngle(0);
  75.  
  76.  
  77. Text3DMesh text3DMesh=new Text3DMesh("H");
  78. text3DMesh.setTranslateX(-WINDOW_WIDTH/2);
  79. text3DMesh.setTranslateY(-WINDOW_HEIGHT/2);
  80. text3DMesh.setEffect(lighting);
  81. // text3DMesh.setFont("helvetica");
  82. // text3DMesh.setTextureModeVertices3D(Palette.ColorPalette.GREEN,);
  83. // text3DMesh.setRotate(-15);
  84.  
  85. Group group = new Group(cameraTransform,text3DMesh,text);
  86.  
  87. Scene scene = new Scene(group, WINDOW_WIDTH, WINDOW_HEIGHT, true, SceneAntialiasing.BALANCED);
  88. scene.setFill(Color.BISQUE);
  89. scene.setCamera(camera);
  90.  
  91. scene.setOnKeyTyped(new EventHandler<KeyEvent>() {
  92. @Override
  93. public void handle(KeyEvent event) {
  94. String ch=event.getCharacter();
  95. if(ch=="\r"){
  96. StringBuffer buffer = new StringBuffer(text3DMesh.getText3D());
  97. buffer.append("\n");
  98. text3DMesh.setText3D(buffer.toString());
  99. }
  100. if(ch.length()==0){
  101. if(!text3DMesh.getText3D().isEmpty()){
  102. StringBuffer buffer = new StringBuffer(text3DMesh.getText3D());
  103. text3DMesh.setText3D(buffer.substring(0,buffer.length()-1).toString());
  104. }
  105. } else {
  106. StringBuffer buffer = new StringBuffer(text3DMesh.getText3D());
  107. buffer.append(ch);
  108. text3DMesh.setText3D(buffer.toString());
  109. }
  110. }
  111. });
  112.  
  113. primaryStage.setScene(scene);
  114. primaryStage.setTitle("Mini Word Art");
  115. primaryStage.show();
  116. }
  117.  
  118.  
  119. public static void main(String[] args) {
  120. launch(args);
  121. }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment