Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Обработка события. Ошибка


Автор: asa12 11.12.2007, 12:17
Всем доброго времени суток smile 
Пожалуйста помогите разобраться с ошибкой. Есть 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()

Он ругается на мой обработчик события но почему не понимаю. Помогите разобраться, пожалуйста.
Заранее спасибо.

Автор: Kangaroo 11.12.2007, 12:23
asa12
добавьте еще:
Код

import javax.swing.event.*;

Этот листенер оттуда.

Автор: asa12 11.12.2007, 12:42
Здорово, спасибо большое, правда другая ошибка полезла но с остальным разберусь.
Еще раз спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)