Всем доброго времени суток Пожалуйста помогите разобраться с ошибкой. Есть xml файлик со своими элементами атрибутами и.т.д. Вытягиваю значения атриботов, создаю массив. Далее создаю список, из списка пользователь может выбрать только одно значение. Все нормально работает до момента выбора значения. Вот код:
Код | import javax.xml.parsers.*; import org.w3c.dom.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.lang.*; import javax.swing.*; import javax.swing.table.*; import javax.swing.tree.*; import org.xml.sax.*;
public class atm { public static void main(String[] args) { JFrame frame=new ListFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } class ListFrame extends JFrame { private static final int w=400; private static final int h=300; private String[] sAr; private String[] sAr1; private int c1; private JList wordListC; private JPanel listPanel; private JLabel label;
public ListFrame() { setTitle("ListCity"); setSize(w,h); try { DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); DocumentBuilder db=null; try {db=dbf.newDocumentBuilder(); } catch(ParserConfigurationException pce){} Document doc=null; doc=db.parse("atm.xml"); NodeList cityNode=doc.getElementsByTagName("city"); Element root=doc.getDocumentElement(); NodeList cityArray=root.getChildNodes(); String ss=new String(); String[] sAr1=new String[cityArray.getLength()]; int k=0; for(int i=0; i<cityArray.getLength();i++) { Node ch=cityArray.item(i); if(ch instanceof Element) { NamedNodeMap attrCityAr=ch.getAttributes(); for(int j=0; j<attrCityAr.getLength();j++)
{ Node ac=attrCityAr.item(j); String valAttr=ac.getNodeValue(); // System.out.println(valAttr); if(sAr1[0]!=null && valAttr!=null){ sAr1[k]=valAttr; } else { sAr1[0]=valAttr; } // System.out.println("old k= "+k); k++; // System.out.println("new k= "+k); // System.out.println(sAr.length); } } } String[] sAr=new String[k]; for(int i=0; i<cityArray.getLength();i++) { if(sAr1[i]!=null){ sAr[i]=sAr1[i]; } } wordListC=new JList(sAr); wordListC.setVisibleRowCount(1); JScrollPane scrollPane=new JScrollPane(wordListC); listPanel=new JPanel(); listPanel.add(scrollPane); wordListC.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent event) { String value=(String) wordListC.getSelectedValues(); // label.setText(value); } }); add(listPanel,BorderLayout.NORTH); // label(label,BorderLayout.CENTER); } catch(Exception e) { e.printStackTrace(System.err); } } }
|
При компиляции выскакивает ошибка:
atm.java:81: cannot find symbol symbol : class ListSelectionListener location : class ListFrame wordListC.addListSelectionListener(new ListSelectionListener()
Он ругается на мой обработчик события но почему не понимаю. Помогите разобраться, пожалуйста. Заранее спасибо. |