在LineChart javafx中获取特定数据点

时间:2016-01-18 06:12:59

标签: java json javafx charts linechart

我想在LineChart的每个数据点安装一个工具提示,问题是每个数据点都是通过json添加的,我不知道如何在添加后找到数据点,这是我使用的方法添加数据点:

    public static void setDots(ArrayList<Object> dotsArrayList, String name){
    Integer numOfEvents;
    try {
    JSONParser parser = new JSONParser();
    // get the data
    JSONObject JSON_obj = (JSONObject) parser.parse(new FileReader("C:\\Users\\Diego\\Documents\\NetBeansProjects\\ContenedoresChart\\json_dots.txt"));
    JSONArray dayArray = (JSONArray) JSON_obj.get(name);
    // get the object of the loop
    JSONObject numOfEventsJSON = (JSONObject) dayArray.get(0);

    numOfEvents = Integer.parseInt(String.valueOf(numOfEventsJSON.get("numEventos")));

    if (numOfEvents.equals(1)) {
        JSONObject contenedorArray = (JSONObject) dayArray.get(1); 
      Double fecha = Double.parseDouble((String.valueOf(contenedorArray.get("fecha"))));
      String hora = String.valueOf(contenedorArray.get("hora"));
      String nombre = String.valueOf(contenedorArray.get("nombre"));
      String id = String.valueOf(contenedorArray.get("ID"));
      Object contenedor = new XYChart.Data(fecha, nombre);
      dotsArrayList.add(contenedor);
      if(contenedoresMap.containsKey(id) == false){
          contenedoresMap.put(id, hora);
      } 
    } else {
        int JSON_Object = 1;
        for(int x = 1; x<=numOfEvents; x++){
        String texto_x = String.valueOf(x);
        JSONObject contenedorArray = (JSONObject) dayArray.get(x);
        Double fecha = Double.parseDouble((String.valueOf(contenedorArray.get("fecha"))));
        String hora = String.valueOf(contenedorArray.get("hora"));
        String nombre = String.valueOf(contenedorArray.get("nombre"));
        String id = String.valueOf(contenedorArray.get("ID"));
        Object contenedor = new XYChart.Data(fecha, nombre);
        dotsArrayList.add(contenedor);
        JSON_Object++;
        if(contenedoresMap.containsKey(id) == false)
        contenedoresMap.put(id, hora);
        System.out.println(name);
        }
    }
    } catch (IOException | ParseException e) {
    e.printStackTrace();
    System.out.println("hubo un problema con el json");
    }
}

基本上json给出了X和Y的信息,但也提供了一个id,我希望在工具提示中显示该id,是否有更简单的方法来实现这一点?简单的工具提示非常复杂

0 个答案:

没有答案