functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewBubbleChartApp.java

Print this page




  75 
  76         //BubbleChart to be tested.
  77         BubbleChart testedBubbleChart;
  78         NumberAxis axis1;
  79         NumberAxis axis2;
  80         TabPaneWithControl pane;
  81 
  82         public BubbleChartScene() {
  83             super("BubbleChart", 1300, 800);
  84         }
  85 
  86         @Override
  87         final protected void prepareScene() {
  88             Utils.addBrowser(this);
  89 
  90             axis1 = new NumberAxis(0, 100, 10);
  91             axis2 = new NumberAxis(0, 100, 10);
  92             testedBubbleChart = getNewChart();
  93             testedBubbleChart.setId(TESTED_CHART_ID);
  94 
  95             Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();

  96             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
  97                 public void handle(ActionEvent t) {
  98                     HBox hb = (HBox) getRoot();
  99                     hb.getChildren().clear();
 100                     prepareMainSceneStructure();
 101                     prepareScene();
 102                 }
 103             });
 104 
 105             Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();

 106             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
 107                 public void handle(ActionEvent t) {
 108                     //throw new UnsupportedOperationException("Not supported yet.");
 109                 }
 110             });
 111 
 112             HBox resetButtonsHBox = new HBox();
 113             resetButtonsHBox.getChildren().addAll(hardResetButton, softResetButton);
 114 
 115             VBox vb = new VBox(5);
 116             vb.getChildren().addAll(resetButtonsHBox, getAddItemHBox(), getAddBubbleToSerieDialog(), getRemoveDataDialog(), getRemoveDataFromSerieDialog());
 117 
 118             pane = getPaneFor(testedBubbleChart, CHART_TAB_NAME, axis1, AXIS_1_TAB_NAME, axis2, AXIS_2_TAB_NAME);
 119 
 120             setTestedControlContainerSize(500, 500);
 121             setTestedControl(testedBubbleChart);
 122             setPropertiesContent(pane);
 123             setControllersContent(vb);
 124         }
 125 
 126         public HBox getRemoveDataDialog() {
 127             HBox hb = new HBox();
 128             Label lb = new Label("From position");
 129             final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_ITEM_POS_TEXT_FIELD_ID).build();
 130             Button bt = ButtonBuilder.create().text("Remove serie!").id(REMOVE_BUTTON_ID).build();



 131             bt.setOnAction(new EventHandler() {
 132                 public void handle(Event t) {
 133                     int index = Integer.parseInt(tf.getText());
 134                     testedBubbleChart.getData().remove(index);
 135                 }
 136             });
 137             hb.getChildren().addAll(lb, tf, bt);
 138             return hb;
 139         }
 140 
 141         public HBox getRemoveDataFromSerieDialog() {
 142             HBox hb = new HBox();
 143             Label lb1 = new Label("From serie");
 144             final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).build();

 145 
 146             Label lb2 = new Label("from index");
 147             final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).build();

 148 
 149             Button bt = ButtonBuilder.create().text("remove bubble!").id(REMOVE_BUTTON_ID).build();

 150             bt.setOnAction(new EventHandler() {
 151                 public void handle(Event t) {
 152                     int serie = Integer.parseInt(tf1.getText());
 153                     int index = Integer.parseInt(tf2.getText());
 154                     ((Series) testedBubbleChart.getData().get(serie)).getData().remove(index);
 155                 }
 156             });
 157             hb.getChildren().addAll(lb1, tf1, lb2, tf2, bt);
 158             return hb;
 159         }
 160 
 161         public HBox getAddBubbleToSerieDialog() {
 162             HBox hb = new HBox();
 163             Label lb1 = new Label("To serie");
 164             final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).build();

 165 
 166             Label lb2 = new Label("to index");
 167             final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).build();

 168 
 169             Label lb3 = new Label("X");
 170             final TextField tf3 = TextFieldBuilder.create().text("0").prefWidth(50).build();

 171 
 172             Label lb4 = new Label("Y");
 173             final TextField tf4 = TextFieldBuilder.create().text("0").prefWidth(50).build();

 174 
 175             Label lb5 = new Label("R");
 176             final TextField tf5 = TextFieldBuilder.create().text("0").prefWidth(50).build();

 177 
 178             Button bt = ButtonBuilder.create().text("add bubble!").id(REMOVE_BUTTON_ID).build();

 179             bt.setOnAction(new EventHandler() {
 180                 public void handle(Event t) {
 181                     int serie = Integer.parseInt(tf1.getText());
 182                     int index = Integer.parseInt(tf2.getText());
 183                     double X = Double.parseDouble(tf3.getText());
 184                     double Y = Double.parseDouble(tf4.getText());
 185                     double R = Double.parseDouble(tf5.getText());
 186 
 187                     XYChart.Data newData = new XYChart.Data();
 188                     newData.setXValue(X);
 189                     newData.setYValue(Y);
 190                     newData.setExtraValue(R);
 191 
 192                     ((Series) testedBubbleChart.getData().get(serie)).getData().add(index, newData);
 193                 }
 194             });
 195             hb.getChildren().addAll(lb1, tf1, lb2, tf2, lb3, tf3, lb4, tf4, lb5, tf5, bt);
 196             return hb;
 197         }
 198 
 199         public HBox getAddItemHBox() {
 200             HBox hb = new HBox();
 201             Label lb = new Label("Add series named ");
 202             final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_NAME_TEXTFIELD_ID).build();


 203 
 204             Label minLabel = new Label(" min X,Y ");
 205             final TextField minText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID).build();


 206 
 207             Label maxLabel = new Label(" max X,Y ");
 208             final TextField maxText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID).build();


 209 
 210             Label amountLabel = new Label(" add ");
 211             final TextField amountText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID).build();


 212 
 213             Button bt = ButtonBuilder.create().text(" bubbles!").id(ADD_SERIES_COMMAND_BUTTON_ID).build();

 214             bt.setOnAction(new EventHandler() {
 215                 public void handle(Event t) {
 216                     String serieName = tf.getText();
 217                     double min = Double.parseDouble(minText.getText());
 218                     double max = Double.parseDouble(maxText.getText());
 219                     int amount = Integer.parseInt(amountText.getText());
 220 
 221                     ObservableList list = FXCollections.observableArrayList();
 222 
 223                     XYChart.Series serie = new XYChart.Series(serieName, list);
 224 
 225                     for (int i = 0; i < amount; i++) {
 226                         XYChart.Data newData = new XYChart.Data();
 227                         newData.setXValue(new Random().nextDouble() * (max - min) + min);
 228                         newData.setYValue(new Random().nextDouble() * (max - min) + min);
 229                         newData.setExtraValue(new Random().nextDouble() * (max - min) / 8 + min);
 230                         list.add(newData);
 231                     }
 232 
 233                     testedBubbleChart.getData().add(serie);




  75 
  76         //BubbleChart to be tested.
  77         BubbleChart testedBubbleChart;
  78         NumberAxis axis1;
  79         NumberAxis axis2;
  80         TabPaneWithControl pane;
  81 
  82         public BubbleChartScene() {
  83             super("BubbleChart", 1300, 800);            
  84         }
  85 
  86         @Override
  87         final protected void prepareScene() {
  88             Utils.addBrowser(this);
  89             
  90             axis1 = new NumberAxis(0, 100, 10);
  91             axis2 = new NumberAxis(0, 100, 10);
  92             testedBubbleChart = getNewChart();
  93             testedBubbleChart.setId(TESTED_CHART_ID);
  94 
  95             Button hardResetButton = new Button("Hard reset");

  96             hardResetButton.setId(HARD_RESET_BUTTON_ID);

  97             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
  98                 public void handle(ActionEvent t) {
  99                     HBox hb = (HBox) getRoot();
 100                     hb.getChildren().clear();
 101                     prepareMainSceneStructure();
 102                     prepareScene();
 103                 }
 104             });
 105 
 106             Button softResetButton = new Button("Soft reset");

 107             softResetButton.setId(SOFT_RESET_BUTTON_ID);

 108             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
 109                 public void handle(ActionEvent t) {
 110                     //throw new UnsupportedOperationException("Not supported yet.");
 111                 }
 112             });
 113 
 114             HBox resetButtonsHBox = new HBox();
 115             resetButtonsHBox.getChildren().addAll(hardResetButton, softResetButton);
 116 
 117             VBox vb = new VBox(5);
 118             vb.getChildren().addAll(resetButtonsHBox, getAddItemHBox(), getAddBubbleToSerieDialog(), getRemoveDataDialog(), getRemoveDataFromSerieDialog());
 119 
 120             pane = getPaneFor(testedBubbleChart, CHART_TAB_NAME, axis1, AXIS_1_TAB_NAME, axis2, AXIS_2_TAB_NAME);
 121 
 122             setTestedControlContainerSize(500, 500);
 123             setTestedControl(testedBubbleChart);
 124             setPropertiesContent(pane);
 125             setControllersContent(vb);
 126         }
 127 
 128         public HBox getRemoveDataDialog() {
 129             HBox hb = new HBox();
 130             Label lb = new Label("From position");
 131             final TextField tf = new TextField("0");

 132             tf.setPrefWidth(50);

 133             tf.setId(REMOVE_ITEM_POS_TEXT_FIELD_ID);

 134             Button bt = new Button("Remove serie!");

 135             bt.setId(REMOVE_BUTTON_ID);

 136             bt.setOnAction(new EventHandler() {
 137                 public void handle(Event t) {
 138                     int index = Integer.parseInt(tf.getText());
 139                     testedBubbleChart.getData().remove(index);
 140                 }
 141             });
 142             hb.getChildren().addAll(lb, tf, bt);
 143             return hb;
 144         }
 145 
 146         public HBox getRemoveDataFromSerieDialog() {
 147             HBox hb = new HBox();
 148             Label lb1 = new Label("From serie");
 149             final TextField tf1 = new TextField("0");

 150             tf1.setPrefWidth(50);

 151 
 152             Label lb2 = new Label("from index");
 153             final TextField tf2 = new TextField("0");

 154             tf2.setPrefWidth(50);

 155 
 156             Button bt = new Button("remove bubble!");

 157             bt.setId(REMOVE_BUTTON_ID);

 158             bt.setOnAction(new EventHandler() {
 159                 public void handle(Event t) {
 160                     int serie = Integer.parseInt(tf1.getText());
 161                     int index = Integer.parseInt(tf2.getText());
 162                     ((Series) testedBubbleChart.getData().get(serie)).getData().remove(index);
 163                 }
 164             });
 165             hb.getChildren().addAll(lb1, tf1, lb2, tf2, bt);
 166             return hb;
 167         }
 168 
 169         public HBox getAddBubbleToSerieDialog() {
 170             HBox hb = new HBox();
 171             Label lb1 = new Label("To serie");
 172             final TextField tf1 = new TextField("0");

 173             tf1.setPrefWidth(50);

 174 
 175             Label lb2 = new Label("to index");
 176             final TextField tf2 = new TextField("0");

 177             tf2.setPrefWidth(50);

 178 
 179             Label lb3 = new Label("X");
 180             final TextField tf3 = new TextField("0");

 181             tf3.setPrefWidth(50);

 182 
 183             Label lb4 = new Label("Y");
 184             final TextField tf4 = new TextField("0");

 185             tf4.setPrefWidth(50);

 186 
 187             Label lb5 = new Label("R");
 188             final TextField tf5 = new TextField("0");

 189             tf5.setPrefWidth(50);

 190 
 191             Button bt = new Button("add bubble!");

 192             bt.setId(REMOVE_BUTTON_ID);

 193             bt.setOnAction(new EventHandler() {
 194                 public void handle(Event t) {
 195                     int serie = Integer.parseInt(tf1.getText());
 196                     int index = Integer.parseInt(tf2.getText());
 197                     double X = Double.parseDouble(tf3.getText());
 198                     double Y = Double.parseDouble(tf4.getText());
 199                     double R = Double.parseDouble(tf5.getText());
 200 
 201                     XYChart.Data newData = new XYChart.Data();
 202                     newData.setXValue(X);
 203                     newData.setYValue(Y);
 204                     newData.setExtraValue(R);
 205 
 206                     ((Series) testedBubbleChart.getData().get(serie)).getData().add(index, newData);
 207                 }
 208             });
 209             hb.getChildren().addAll(lb1, tf1, lb2, tf2, lb3, tf3, lb4, tf4, lb5, tf5, bt);
 210             return hb;
 211         }
 212 
 213         public HBox getAddItemHBox() {
 214             HBox hb = new HBox();
 215             Label lb = new Label("Add series named ");
 216             final TextField tf = new TextField();

 217             tf.setPrefWidth(50);

 218             tf.setId(ADDED_SERIES_NAME_TEXTFIELD_ID);

 219 
 220             Label minLabel = new Label(" min X,Y ");
 221             final TextField minText = new TextField();

 222             minText.setPrefWidth(50);

 223             minText.setId(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID);

 224 
 225             Label maxLabel = new Label(" max X,Y ");
 226             final TextField maxText = new TextField();

 227             maxText.setPrefWidth(50);

 228             maxText.setId(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID);

 229 
 230             Label amountLabel = new Label(" add ");
 231             final TextField amountText = new TextField();

 232             amountText.setPrefWidth(50);

 233             amountText.setId(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID);

 234 
 235             Button bt = new Button(" bubbles!");

 236             bt.setId(ADD_SERIES_COMMAND_BUTTON_ID);

 237             bt.setOnAction(new EventHandler() {
 238                 public void handle(Event t) {
 239                     String serieName = tf.getText();
 240                     double min = Double.parseDouble(minText.getText());
 241                     double max = Double.parseDouble(maxText.getText());
 242                     int amount = Integer.parseInt(amountText.getText());
 243 
 244                     ObservableList list = FXCollections.observableArrayList();
 245 
 246                     XYChart.Series serie = new XYChart.Series(serieName, list);
 247 
 248                     for (int i = 0; i < amount; i++) {
 249                         XYChart.Data newData = new XYChart.Data();
 250                         newData.setXValue(new Random().nextDouble() * (max - min) + min);
 251                         newData.setYValue(new Random().nextDouble() * (max - min) + min);
 252                         newData.setExtraValue(new Random().nextDouble() * (max - min) / 8 + min);
 253                         list.add(newData);
 254                     }
 255 
 256                     testedBubbleChart.getData().add(serie);