コード例 #1
0
  /** Mètode que canvia la llista que es mostra per pantalla */
  public void setData(String city, int units) {
    data.remove(1, data.size());
    File inputFile = new File(city + units + ".xml");
    try {
      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
      DocumentBuilder db = dbf.newDocumentBuilder();
      Document doc = db.parse(inputFile);
      // És important normalitzar
      doc.getDocumentElement().normalize();

      NodeList nl = doc.getElementsByTagName("time");
      temp = new Temps();
      TempUnitari tempU = null;
      for (int i = 0; i < nl.getLength(); i++) {
        tempU = new TempUnitari();
        Element temps = (Element) nl.item(i);
        String[] horari = temps.getAttribute("day").split("-");
        String diaVista = horari[2] + "/" + horari[1];
        String descripcio =
            temps.getFirstChild().getAttributes().getNamedItem("name").getTextContent();
        String icon =
            temps.getFirstChild().getAttributes().getNamedItem("var").getTextContent() + "#";
        Element temperatura = (Element) temps.getChildNodes().item(4);
        String tempMin = temperatura.getAttribute("min");
        String tempMax = temperatura.getAttribute("max");
        Element humitat = (Element) temps.getChildNodes().item(6);
        String humidity = humitat.getAttribute("value");
        Element presio = (Element) temps.getChildNodes().item(5);
        String pressure = presio.getAttribute("value");
        tempU.setTempsMin(Double.parseDouble(tempMin));
        tempU.setTempsMax(Double.parseDouble(tempMax));
        tempU.setHumidity(Integer.parseInt(humidity));
        tempU.setPressure(Double.parseDouble(pressure));
        temp.add(tempU);
        // afegir el String al observableList per a que el mostri el listView
        data.add(icon + diaVista + "\t-\t" + descripcio + "\t-\t" + tempMin + "/" + tempMax);
      }
    } catch (ParserConfigurationException e) {
      e.printStackTrace();
    } catch (SAXException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
コード例 #2
0
 public void calculMitjaPressure(ActionEvent actionEvent) {
   double pressio = temp.mitjaPressure();
   setMitjas("Pressió:", pressio, "hPa");
   mitjas.show();
 }
コード例 #3
0
 public void calculMitjaHumidity(ActionEvent actionEvent) {
   double humitat = temp.mitjaHumidity();
   setMitjas("Humitat:", humitat, "%");
   mitjas.show();
 }
コード例 #4
0
 public void calculMitjaTempsMax(ActionEvent actionEvent) {
   double max = temp.mitjaTempsMax();
   String unitats = (units == 0) ? "ºC" : "ºF";
   setMitjas("Temperatura Màxima:", max, unitats);
   mitjas.show();
 }
コード例 #5
0
 public void calculMitjaTempsMin(ActionEvent actionEvent) {
   double min = temp.mitjaTempsMin();
   String unitats = (units == 0) ? "ºC" : "ºF";
   setMitjas("Temperatura Mínima:", min, unitats);
   mitjas.show();
 }