import java.awt.*; import java.awt.event.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; import org.w3c.dom.*; import java.io.*; public class InimSalvestus2 extends Panel implements ActionListener{ TextField tf1=new TextField(); TextField tf2=new TextField(); TextField tf3=new TextField(); Button nupp1=new Button("Salvesta"); Button nupp2=new Button("Kustuta kõik"); Button nupp3=new Button("Esimene aktiivseks"); Button nupp4=new Button("Viimane aktiivseks"); Button nupp5=new Button("Tagasi"); Button nupp6=new Button("Edasi"); Document d; Node aktiivne; String failinimi="inimesed.xml"; public InimSalvestus2(){ setLayout(new GridLayout(6, 2)); add(new Label("Eesnimi:")); add(tf1); add(new Label("Perekonnanimi:")); add(tf2); add(new Label("Sünniaasta:")); add(tf3); add(nupp1); nupp1.addActionListener(this); add(nupp2); nupp2.addActionListener(this); add(nupp3); nupp3.addActionListener(this); add(nupp4); nupp4.addActionListener(this); add(nupp5); nupp5.addActionListener(this); add(nupp6); nupp6.addActionListener(this); try{ if(new File(failinimi).exists()){ d=DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(failinimi); } else { looUusDokument(); } }catch(Exception ex){ ex.printStackTrace(); } } void looUusDokument() throws ParserConfigurationException{ d=DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); Element juur=d.createElement("inimesed"); d.appendChild(juur); } void naitaAktiivset(){ if(aktiivne==null){return;} tf1.setText(aktiivne.getFirstChild().getTextContent()); tf2.setText(aktiivne.getFirstChild().getNextSibling().getTextContent()); tf3.setText(((Element)aktiivne).getElementsByTagName("synniaasta"). item(0).getTextContent()); } public void actionPerformed(ActionEvent ev){ try{ if(ev.getSource()==nupp2){ looUusDokument(); } Node juur=d.getFirstChild(); if(ev.getSource()==nupp3){ aktiivne=juur.getFirstChild(); naitaAktiivset(); } if(ev.getSource()==nupp4){ aktiivne=juur.getLastChild(); naitaAktiivset(); } if(ev.getSource()==nupp5){ if(aktiivne==null){return;} if(aktiivne.getPreviousSibling()==null){return;} aktiivne=aktiivne.getPreviousSibling(); naitaAktiivset(); } if(ev.getSource()==nupp6){ if(aktiivne==null){return;} if(aktiivne.getNextSibling()==null){return;} aktiivne=aktiivne.getNextSibling(); naitaAktiivset(); } if(ev.getSource()==nupp1){ Element e=d.createElement("inimene"); Element en=d.createElement("eesnimi"); en.appendChild(d.createTextNode(tf1.getText())); e.appendChild(en); Element pn=d.createElement("perekonnanimi"); pn.appendChild(d.createTextNode(tf2.getText())); e.appendChild(pn); Element sa=d.createElement("synniaasta"); sa.appendChild(d.createTextNode(tf3.getText())); e.appendChild(sa); juur.appendChild(e); } Transformer t=TransformerFactory.newInstance().newTransformer(); t.transform(new DOMSource(d), new StreamResult(new FileOutputStream("inimesed.xml"))); }catch(Exception ex){ ex.printStackTrace(); } } public static void main(String[] arg){ Frame f=new Frame(); f.add(new InimSalvestus2()); f.setSize(400, 400); f.setVisible(true); } }