70 71 //AreaChart to be tested. 72 StackedAreaChart testedStackedAreaChart; 73 NumberAxis axis1; 74 NumberAxis axis2; 75 TabPaneWithControl pane; 76 77 public AreaChartScene() { 78 super("StackedAreaChartApp", 1300, 800); 79 } 80 81 @Override 82 final protected void prepareScene() { 83 Utils.addBrowser(this); 84 85 axis1 = new NumberAxis(0, 100, 10); 86 axis2 = new NumberAxis(0, 100, 10); 87 testedStackedAreaChart = getNewChart(); 88 testedStackedAreaChart.setId(TESTED_CHART_ID); 89 90 Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build(); 91 hardResetButton.setOnAction(new EventHandler<ActionEvent>() { 92 public void handle(ActionEvent t) { 93 HBox hb = (HBox) getRoot(); 94 hb.getChildren().clear(); 95 prepareMainSceneStructure(); 96 prepareScene(); 97 } 98 }); 99 100 Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build(); 101 softResetButton.setOnAction(new EventHandler<ActionEvent>() { 102 public void handle(ActionEvent t) { 103 //throw new UnsupportedOperationException("Not supported yet."); 104 } 105 }); 106 107 HBox resetButtonsHBox = new HBox(); 108 resetButtonsHBox.getChildren().addAll(hardResetButton, softResetButton); 109 110 VBox vb = new VBox(5); 111 vb.getChildren().addAll(resetButtonsHBox, getAddItemHBox(), getRemoveDataDialog()); 112 113 pane = getPaneFor(testedStackedAreaChart, CHART_TAB_NAME, axis1, AXIS_1_TAB_NAME, axis2, AXIS_2_TAB_NAME); 114 115 setTestedControlContainerSize(500, 500); 116 setTestedControl(testedStackedAreaChart); 117 setPropertiesContent(pane); 118 setControllersContent(vb); 119 } 120 121 public HBox getRemoveDataDialog() { 122 HBox hb = new HBox(); 123 Label lb = new Label("From position"); 124 final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_AREA_INDEX_TEXTFIELD_ID).build(); 125 Button bt = ButtonBuilder.create().text("Remove!").id(REMOVE_AREA_BUTTON_ID).build(); 126 bt.setOnAction(new EventHandler() { 127 public void handle(Event t) { 128 int index = Integer.parseInt(tf.getText()); 129 testedStackedAreaChart.getData().remove(index); 130 } 131 }); 132 hb.getChildren().addAll(lb, tf, bt); 133 return hb; 134 } 135 136 public HBox getAddItemHBox() { 137 HBox hb = new HBox(); 138 Label lb = new Label("Add series named "); 139 final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_NAME_TEXTFIELD_ID).build(); 140 141 Label minLabel = new Label(" min "); 142 final TextField minText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID).build(); 143 144 Label maxLabel = new Label(" max "); 145 final TextField maxText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID).build(); 146 147 Label amountLabel = new Label(" amount "); 148 final TextField amountText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID).build(); 149 150 Button bt = ButtonBuilder.create().text("Add!").id(ADD_SERIES_COMMAND_BUTTON_ID).build(); 151 bt.setOnAction(new EventHandler() { 152 public void handle(Event t) { 153 String serieName = tf.getText(); 154 double min = Double.parseDouble(minText.getText()); 155 double max = Double.parseDouble(maxText.getText()); 156 int amount = Integer.parseInt(amountText.getText()); 157 158 ObservableList list = FXCollections.observableArrayList(); 159 160 for (int i = 0; i < amount; i++) { 161 XYChart.Data newData = new XYChart.Data(); 162 newData.setXValue(new Random().nextDouble() * (max - min) + min); 163 newData.setYValue(new Random().nextDouble() * (max - min) / 4 + min); 164 list.add(newData); 165 } 166 Object[] array = list.toArray(); 167 Arrays.sort(array, new Comparator() { 168 public int compare(Object t, Object t1) { 169 return (int) Math.round(((Double) ((XYChart.Data) t).getXValue()) - ((Double) ((XYChart.Data) t1).getXValue())); 170 } | 70 71 //AreaChart to be tested. 72 StackedAreaChart testedStackedAreaChart; 73 NumberAxis axis1; 74 NumberAxis axis2; 75 TabPaneWithControl pane; 76 77 public AreaChartScene() { 78 super("StackedAreaChartApp", 1300, 800); 79 } 80 81 @Override 82 final protected void prepareScene() { 83 Utils.addBrowser(this); 84 85 axis1 = new NumberAxis(0, 100, 10); 86 axis2 = new NumberAxis(0, 100, 10); 87 testedStackedAreaChart = getNewChart(); 88 testedStackedAreaChart.setId(TESTED_CHART_ID); 89 90 Button hardResetButton = new Button("Hard reset"); 91 hardResetButton.setId(HARD_RESET_BUTTON_ID); 92 hardResetButton.setOnAction(new EventHandler<ActionEvent>() { 93 public void handle(ActionEvent t) { 94 HBox hb = (HBox) getRoot(); 95 hb.getChildren().clear(); 96 prepareMainSceneStructure(); 97 prepareScene(); 98 } 99 }); 100 101 Button softResetButton = new Button("Soft reset"); 102 softResetButton.setId(SOFT_RESET_BUTTON_ID); 103 softResetButton.setOnAction(new EventHandler<ActionEvent>() { 104 public void handle(ActionEvent t) { 105 //throw new UnsupportedOperationException("Not supported yet."); 106 } 107 }); 108 109 HBox resetButtonsHBox = new HBox(); 110 resetButtonsHBox.getChildren().addAll(hardResetButton, softResetButton); 111 112 VBox vb = new VBox(5); 113 vb.getChildren().addAll(resetButtonsHBox, getAddItemHBox(), getRemoveDataDialog()); 114 115 pane = getPaneFor(testedStackedAreaChart, CHART_TAB_NAME, axis1, AXIS_1_TAB_NAME, axis2, AXIS_2_TAB_NAME); 116 117 setTestedControlContainerSize(500, 500); 118 setTestedControl(testedStackedAreaChart); 119 setPropertiesContent(pane); 120 setControllersContent(vb); 121 } 122 123 public HBox getRemoveDataDialog() { 124 HBox hb = new HBox(); 125 Label lb = new Label("From position"); 126 final TextField tf = new TextField("0"); 127 tf.setPrefWidth(50); 128 tf.setId(REMOVE_AREA_INDEX_TEXTFIELD_ID); 129 Button bt = new Button("Remove!"); 130 bt.setId(REMOVE_AREA_BUTTON_ID); 131 bt.setOnAction(new EventHandler() { 132 public void handle(Event t) { 133 int index = Integer.parseInt(tf.getText()); 134 testedStackedAreaChart.getData().remove(index); 135 } 136 }); 137 hb.getChildren().addAll(lb, tf, bt); 138 return hb; 139 } 140 141 public HBox getAddItemHBox() { 142 HBox hb = new HBox(); 143 Label lb = new Label("Add series named "); 144 final TextField tf = new TextField(); 145 tf.setPrefWidth(50); 146 tf.setId(ADDED_SERIES_NAME_TEXTFIELD_ID); 147 148 Label minLabel = new Label(" min "); 149 final TextField minText = new TextField(); 150 minText.setPrefWidth(50); 151 minText.setId(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID); 152 153 Label maxLabel = new Label(" max "); 154 final TextField maxText = new TextField(); 155 maxText.setPrefWidth(50); 156 maxText.setId(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID); 157 158 Label amountLabel = new Label(" amount "); 159 final TextField amountText = new TextField(); 160 amountText.setPrefWidth(50); 161 amountText.setId(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID); 162 163 Button bt = new Button("Add!"); 164 bt.setId(ADD_SERIES_COMMAND_BUTTON_ID); 165 bt.setOnAction(new EventHandler() { 166 public void handle(Event t) { 167 String serieName = tf.getText(); 168 double min = Double.parseDouble(minText.getText()); 169 double max = Double.parseDouble(maxText.getText()); 170 int amount = Integer.parseInt(amountText.getText()); 171 172 ObservableList list = FXCollections.observableArrayList(); 173 174 for (int i = 0; i < amount; i++) { 175 XYChart.Data newData = new XYChart.Data(); 176 newData.setXValue(new Random().nextDouble() * (max - min) + min); 177 newData.setYValue(new Random().nextDouble() * (max - min) / 4 + min); 178 list.add(newData); 179 } 180 Object[] array = list.toArray(); 181 Arrays.sort(array, new Comparator() { 182 public int compare(Object t, Object t1) { 183 return (int) Math.round(((Double) ((XYChart.Data) t).getXValue()) - ((Double) ((XYChart.Data) t1).getXValue())); 184 } |