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.*; import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.util.*; public class Nimehaldus3 extends Applet implements ActionListener{ Document d=null; Element juur=null; String failinimi="eesnimed.xml"; Button salvestusnupp=new Button("Salvesta"); Button lisamisnupp=new Button("lisa"); Button kustutusnupp=new Button("kustuta"); Button muutmisnupp=new Button("muuda"); Button ylesnupp=new Button("^"); Button allanupp=new Button("v"); Button sorteerimisnupp=new Button("Sorteeri"); TextField tekstikast=new TextField(); java.awt.List nimeloend=new java.awt.List(); static final long serialVersionUID=1; public Nimehaldus3(){ setLayout(new BorderLayout()); Panel p=new Panel(new GridLayout(6, 1)); p.add(lisamisnupp); p.add(kustutusnupp); p.add(muutmisnupp); p.add(ylesnupp); p.add(allanupp); p.add(sorteerimisnupp); add(tekstikast, BorderLayout.SOUTH); add(nimeloend, BorderLayout.CENTER); add(salvestusnupp, BorderLayout.NORTH); add(p, BorderLayout.EAST); lisamisnupp.addActionListener(this); salvestusnupp.addActionListener(this); kustutusnupp.addActionListener(this); nimeloend.addActionListener(this); muutmisnupp.addActionListener(this); ylesnupp.addActionListener(this); allanupp.addActionListener(this); sorteerimisnupp.addActionListener(this); try{ if(new File(failinimi).exists()){ d=DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(failinimi); juur=(Element)d.getFirstChild(); } else { d=DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); juur=d.createElement("eesnimed"); d.appendChild(juur); } naitaAndmed(); }catch(Exception ex){ ex.printStackTrace(); } } public void naitaAndmed(){ nimeloend.removeAll(); NodeList enimed=juur.getChildNodes(); for(int i=0; i nimed =new LinkedList(); Node nimenode=juur.getFirstChild(); while(nimenode!=null){ nimed.add(nimenode); nimenode=nimenode.getNextSibling(); } Comparator vordleja=new NimeVordleja(); Collections.sort(nimed, vordleja); Element uusjuur=d.createElement("eesnimed"); ListIterator iterator=nimed.listIterator(); while(iterator.hasNext()){ uusjuur.appendChild(iterator.next()); } d.replaceChild(uusjuur, juur); juur=uusjuur; naitaAndmed(); } //Lisage allapoole liigutamise nupp }catch(Exception ex){ ex.printStackTrace(); } } public static void main(String[] arg) throws Exception{ Frame f=new Frame("Nimehaldus"); f.add(new Nimehaldus3()); f.setSize(300, 300); f.setVisible(true); } static class NimeVordleja implements Comparator{ public int compare(Node a, Node b){ return a.getFirstChild().getNodeValue().compareTo(b.getFirstChild().getNodeValue()); } } }