2012-02-19 5 views
-1

JList 상자에서 특정 값을 클릭하면 데이터베이스에서 값을 jTextFilelds로 가져 오려고합니다. jlist에서 선택한 값을 가져와 사용하고 싶습니다. 선택 진술을 사용하여 데이터베이스에서 값을 얻으려면 .. 실제로 일하는 것이 내 과제물의 주소록이다 Plz help me out !!Java - JList 값 변경시 DB에서 텍스트 파일로 데이터 가져 오기

감사, 사전에

private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt)          
      // String lfn = evt.toString(); 
    DefaultListModel listModel = new DefaultListModel(); 
    jList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
    String sel = listModel.get(jList1.getSelectedIndex()).toString(); 
    try { 
     Connection con = DriverManager.getConnection("jdbc:oracle:thin:@//localhost:1521/XE ", "system", "sruthi"); 
     Statement stmt = con.createStatement(); 
     ResultSet rs = null; 
     //String sql = "select FNAME,LNAME,EMAIL,CITY,STATE,PNUM from PERSON where FNAME=lfn"; 
     jList1.setSelectedIndex(0); 

     rs = stmt.executeQuery("select FNAME,LNAME,EMAIL,CITY,STATE,PNUM from PERSON where FNAME='%"+sel+ "%'"); 

     String fn = rs.getString("FNAME"); 
     String ln = rs.getString("LNAME"); 
     String em = rs.getString("EMAIL"); 
     String ct = rs.getString("CITY"); 
     String st = rs.getString("STATE"); 
     int no =Integer.parseInt(rs.getString("PNUM")); 

     jTextField1.setText(fn); 
     jTextField2.setText(em); 
     jTextField3.setText(String.valueOf(no)); 
     jTextField4.setText(ct); 
     jTextField5.setText(st); 
     jTextField7.setText(ln); 


    } catch (SQLException ex) { 
     Logger.getLogger(addbook.class.getName()).log(Level.SEVERE, null, ex); 
} 

에러 :::

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 
    at java.util.Vector.elementAt(Vector.java:427) 
    at javax.swing.DefaultListModel.get(DefaultListModel.java:428) 
    at project2.addbook.jList1ValueChanged(addbook.java:356) 
    at project2.addbook.access$000(addbook.java:18) 
    at project2.addbook$1.valueChanged(addbook.java:108) 
    at javax.swing.JList.fireSelectionValueChanged(JList.java:1765) 
    at javax.swing.JList$ListSelectionHandler.valueChanged(JList.java:1779) 
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167) 
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147) 
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194) 
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388) 
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398) 
    at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442) 
    at javax.swing.JList.setSelectionInterval(JList.java:2035) 
    at javax.swing.plaf.basic.BasicListUI$Handler.adjustSelection(BasicListUI.java:2727) 
    at javax.swing.plaf.basic.BasicListUI$Handler.mousePressed(BasicListUI.java:2683) 
    at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:263) 
    at java.awt.Component.processMouseEvent(Component.java:6264) 
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) 
    at java.awt.Component.processEvent(Component.java:6032) 
    at java.awt.Container.processEvent(Container.java:2041) 
    at java.awt.Component.dispatchEventImpl(Component.java:4630) 
    at java.awt.Container.dispatchEventImpl(Container.java:2099) 
    at java.awt.Component.dispatchEvent(Component.java:4460) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) 
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235) 
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) 
    at java.awt.Container.dispatchEventImpl(Container.java:2085) 
    at java.awt.Window.dispatchEventImpl(Window.java:2478) 
    at java.awt.Component.dispatchEvent(Component.java:4460) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 
    at java.util.Vector.elementAt(Vector.java:427) 
    at javax.swing.DefaultListModel.get(DefaultListModel.java:428) 
    at project2.addbook.jList1ValueChanged(addbook.java:356) 
    at project2.addbook.access$000(addbook.java:18) 
    at project2.addbook$1.valueChanged(addbook.java:108) 
    at javax.swing.JList.fireSelectionValueChanged(JList.java:1765) 
    at javax.swing.JList$ListSelectionHandler.valueChanged(JList.java:1779) 
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167) 
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:137) 
    at javax.swing.DefaultListSelectionModel.setValueIsAdjusting(DefaultListSelectionModel.java:668) 
    at javax.swing.JList.setValueIsAdjusting(JList.java:2110) 
    at javax.swing.plaf.basic.BasicListUI$Handler.mouseReleased(BasicListUI.java:2784) 
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273) 
    at java.awt.Component.processMouseEvent(Component.java:6267) 
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) 
    at java.awt.Component.processEvent(Component.java:6032) 
    at java.awt.Container.processEvent(Container.java:2041) 
    at java.awt.Component.dispatchEventImpl(Component.java:4630) 
    at java.awt.Container.dispatchEventImpl(Container.java:2099) 
    at java.awt.Component.dispatchEvent(Component.java:4460) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) 
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) 
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) 
    at java.awt.Container.dispatchEventImpl(Container.java:2085) 
    at java.awt.Window.dispatchEventImpl(Window.java:2478) 
    at java.awt.Component.dispatchEvent(Component.java:4460) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 
+1

무엇을 이미 시도 했습니까? JLists에 대한 Java 설명서를 읽었습니까? – Tony

+0

나는 java course dis sem .. 새로운 것을 가지고있다. .. 2 주 이후로이 프로그램에서 일 해왔다. ... Plz는 dissakoint me freaky ques lik를 요구한다. 그리고 물론 나는 그랬다! – renu

+0

당신은 무엇을 시도 했습니까? 컴파일에 문제가 있습니까? 예상 된 결과를 얻지 못했습니까? 몇 가지 코드를 게시하고 문제가 무엇인지 보여주십시오. – Tony

답변

1

문제는 당신이 그것에서 무언가를 얻으려고 노력하고 새 DefaultListModel을 생성되고 있다는 점이다 (방금 생성 된 이래로 아무 것도 없을 것입니다). 대신 jlist1.getSelectedValue()으로 전화하면됩니다.

+0

나는 너무 똑같은 오류가 발생했습니다. – renu

+0

Prob Solved .... U가 내 코드를 보지 않고 대답했습니다. Prob이 "좋아하는 FNAME"이라는 선택 통계가 있습니다! – renu

관련 문제