fork download
  1. package tests;
  2.  
  3. import java.awt.Frame;
  4. import java.awt.Rectangle;
  5. import java.util.ArrayList;
  6. import java.util.Arrays;
  7. import java.util.List;
  8.  
  9. import javafx.application.Platform;
  10. import javafx.collections.FXCollections;
  11. import javafx.scene.Group;
  12. import javafx.scene.Scene;
  13. import javafx.scene.control.Button;
  14. import javafx.scene.control.CheckBox;
  15. import javafx.scene.control.ChoiceBox;
  16. import javafx.scene.control.ComboBox;
  17. import javafx.scene.control.Menu;
  18. import javafx.scene.control.MenuBar;
  19. import javafx.scene.control.MenuItem;
  20. import javafx.scene.control.TextArea;
  21. import javafx.scene.control.TreeItem;
  22. import javafx.scene.control.TreeView;
  23. import javafx.scene.paint.Color;
  24. import javafx.stage.Screen;
  25.  
  26. import javax.swing.SwingUtilities;
  27.  
  28. import com.jme3.app.SimpleApplication;
  29. import com.jme3.math.ColorRGBA;
  30. import com.jme3x.jfx.JmeFxContainer;
  31. import com.sun.javafx.PlatformUtil;
  32.  
  33. public class TestJavaFX extends SimpleApplication {
  34.  
  35. private static Group root;
  36. private static ComboBox<String> comboBox;
  37.  
  38. public static void main(String[] args) {
  39. new TestJavaFX().start();
  40. }
  41.  
  42. @Override
  43. public void simpleInitApp() {
  44. this.setPauseOnLostFocus(false);
  45. this.flyCam.setDragToRotate(true);
  46. final JmeFxContainer jmefx = JmeFxContainer.install(this, getGuiNode(), true, null);
  47. Platform.runLater(new Runnable() {
  48.  
  49. @Override
  50. public void run() {
  51. jmefx.setScene(createScene(), root);
  52. }
  53. });
  54.  
  55. this.guiNode.attachChild(jmefx.getJmeNode());
  56.  
  57. this.viewPort.setBackgroundColor(ColorRGBA.Red);
  58. }
  59.  
  60. public static Scene createScene() {
  61.  
  62. root = new Group();
  63.  
  64. Scene scene = new Scene(root, 600, 600, true);
  65. scene.setFill(new Color(0, 0, 0, 0));
  66.  
  67. final TreeItem<String> treeRoot = new TreeItem<String>("Root node");
  68. treeRoot.getChildren().addAll(Arrays.asList(new TreeItem<String>("Child Node 1"), new TreeItem<String>("Child Node 2"), new TreeItem<String>("Child Node 3")));
  69. treeRoot.getChildren().get(2).getChildren().addAll(Arrays.asList(new TreeItem<String>("Child Node 4"), new TreeItem<String>("Child Node 5")));
  70.  
  71. final TreeView treeView = new TreeView();
  72. treeView.setShowRoot(true);
  73.  
  74. treeView.setRoot(treeRoot);
  75.  
  76. treeRoot.setExpanded(true);
  77. treeView.setLayoutY(100);
  78.  
  79. Button test1 = new Button("Test1");
  80. test1.setLayoutX(500);
  81. test1.setLayoutY(500);
  82. test1.setOnAction(event -> {
  83.  
  84. });
  85.  
  86. CheckBox test2 = new CheckBox("Test2");
  87. test2.setLayoutX(700);
  88. test2.setLayoutY(700);
  89.  
  90. MenuBar bar = new MenuBar();
  91.  
  92. Menu testMenu = new Menu("Test");
  93. bar.getMenus().add(testMenu);
  94. MenuItem i1 = new MenuItem("Entry1");
  95. MenuItem i2 = new MenuItem("Entry2");
  96. Menu sub = new Menu("Submenu");
  97. sub.getItems().addAll(new MenuItem("Sub entry 1"), new MenuItem("Sub Entry 2"));
  98. testMenu.getItems().addAll(i1, sub, i2);
  99.  
  100. TextArea ta = new TextArea();
  101. ta.setOpacity(0.4);
  102. ta.setLayoutX(400);
  103. ta.setLayoutY(300);
  104.  
  105. ChoiceBox cb = new ChoiceBox();
  106.  
  107. cb.setItems(FXCollections.observableArrayList("Alfa", "Beta"));
  108. cb.setLayoutX(300);
  109. cb.setLayoutY(200);
  110.  
  111. comboBox = new ComboBox<String>();
  112. comboBox.setLayoutX(350);
  113. comboBox.setLayoutY(250);
  114.  
  115. root.getChildren().addAll(treeView, test1, bar, test2, ta, cb, comboBox);
  116.  
  117. ololo();
  118.  
  119. return scene;
  120. }
  121.  
  122.  
  123. public static final void ololo() {
  124.  
  125. List<String> values = new ArrayList<String>();
  126.  
  127. SwingUtilities.invokeLater(() -> {
  128.  
  129. final Frame frame = new Frame();
  130. frame.setVisible(true);
  131.  
  132. // wait AWT init native minimum size
  133. try {
  134. Thread.sleep(500);
  135. } catch(Exception e) {
  136. e.printStackTrace();
  137. }
  138.  
  139. final Rectangle bounds = frame.getBounds();
  140. values.add(String.valueOf(bounds));
  141. values.add(String.valueOf(frame.getInsets()));
  142. values.add(String.valueOf(frame));
  143. values.add(String.valueOf(frame.getPeer().getMinimumSize()));
  144. values.add(String.valueOf(frame.getPeer().getPreferredSize()));
  145.  
  146. frame.setVisible(false);
  147. frame.dispose();
  148.  
  149. Platform.runLater(() -> {
  150.  
  151. final Screen primary = Screen.getPrimary();
  152.  
  153. comboBox.getItems().addAll(values);
  154. comboBox.getItems().add(String.valueOf(primary.getBounds()));
  155. comboBox.getItems().add(String.valueOf(primary.getVisualBounds()));
  156. });
  157. });
  158. }
  159. }
  160.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:82: error: illegal start of expression
		test1.setOnAction(event -> {
		                         ^
Main.java:82: error: illegal start of expression
		test1.setOnAction(event -> {
		                           ^
Main.java:82: error: ';' expected
		test1.setOnAction(event -> {
		                            ^
Main.java:84: error: illegal start of expression
		});
		 ^
Main.java:127: error: illegal start of expression
		SwingUtilities.invokeLater(() -> {
		                            ^
Main.java:127: error: illegal start of expression
		SwingUtilities.invokeLater(() -> {
		                               ^
Main.java:127: error: illegal start of expression
		SwingUtilities.invokeLater(() -> {
		                                 ^
Main.java:127: error: ';' expected
		SwingUtilities.invokeLater(() -> {
		                                  ^
Main.java:149: error: illegal start of expression
				Platform.runLater(() -> {
				                   ^
Main.java:149: error: illegal start of expression
				Platform.runLater(() -> {
				                      ^
Main.java:149: error: illegal start of expression
				Platform.runLater(() -> {
				                        ^
Main.java:149: error: ';' expected
				Platform.runLater(() -> {
				                         ^
Main.java:156: error: illegal start of type
				});
				 ^
Main.java:157: error: class, interface, or enum expected
			});
			 ^
Main.java:158: error: class, interface, or enum expected
	}
	^
15 errors
stdout
Standard output is empty