/** 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(); } }
public void calculMitjaPressure(ActionEvent actionEvent) { double pressio = temp.mitjaPressure(); setMitjas("Pressió:", pressio, "hPa"); mitjas.show(); }
public void calculMitjaHumidity(ActionEvent actionEvent) { double humitat = temp.mitjaHumidity(); setMitjas("Humitat:", humitat, "%"); mitjas.show(); }
public void calculMitjaTempsMax(ActionEvent actionEvent) { double max = temp.mitjaTempsMax(); String unitats = (units == 0) ? "ºC" : "ºF"; setMitjas("Temperatura Màxima:", max, unitats); mitjas.show(); }
public void calculMitjaTempsMin(ActionEvent actionEvent) { double min = temp.mitjaTempsMin(); String unitats = (units == 0) ? "ºC" : "ºF"; setMitjas("Temperatura Mínima:", min, unitats); mitjas.show(); }