2011-11-07 2 views
-1

나는 자동차의 제조사와 가격을 출력하는 folowing 코드를 가지고있다. 그러나 나는 그럴 수 없다는 것을 알아 차릴 것으로 보인다. 도움을 청하십시오. 도움!파일에서 읽는 JList scoll 창 프로그램

discription[k] = st.nextToken();을 추가했지만 프로그램이 실행되지 않았습니다. 여기

import java.util.*; 
import java.io.*; 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.event.*; 

public class Lab22V3 extends JFrame implements ListSelectionListener { 

    String[] products = new String[100]; 
    double[] prices = new double[100]; 
//string[]discription=new String[100] 
    JLabel unitPrice; 
    JList productList; 

    public static void main(String[] args) { 
     Lab22V3 x = new Lab22V3(); 
     x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     x.setTitle("Lab#22 Version#3"); 
     x.setSize(350, 250); 
     x.setVisible(true); 
    } // main 

    public Lab22V3() // constructor 
    { 
     String s; 
     StringTokenizer st; 
     int k = 0; 
     try { 
      BufferedReader inFile = new BufferedReader(new FileReader("Lab22data.txt")); 
      while ((s = inFile.readLine()) != null) { 
       st = new StringTokenizer(s); 
       products[k] = st.nextToken(); 
       // discription[k] = st.nextToken(); 
       prices[k] = Double.valueOf(st.nextToken()); 
       ++k; 
      } // while not EOF 
      inFile.close(); 
     } catch (Exception e) { 
      System.err.println(e); 
     } 

     unitPrice = new JLabel(); 
     getContentPane().add(unitPrice, BorderLayout.NORTH) 

     JPanel p = new JPanel(); 
     productList = new JList(products); // create a JList object 
     productList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
     JScrollPane sp = new JScrollPane(productList); // adding scrolling capability 
     p.add(sp); 
     getContentPane().add(p, BorderLayout.SOUTH); 
     // Event registration 
     productList.addListSelectionListener(this); 
    } // constructor 

    // Event handling 
    public void valueChanged(ListSelectionEvent event) { 
     unitPrice.setText(" " + prices[productList.getSelectedIndex()]); 
     //proddiscrition.setText(""+ discription[productList.getselectedIndex()]; 
    } // valueChanged 
} // Lab22V3> 

1000 100.00 
A dozen of jokes 
2000 5.91  
Used BMW 
3000 19.28 
Cookie Jar 
4000 21.90 
Birthday Cake 
5000 35.28 
Used keyboard 
6000 50.00 
Love 
7000 92.27 
Gone with Wind 
+0

코드가 NumberFormatException이 제공 .. [K] = Double.valueOf (st.nextToken()); 먼저 코드를 수정하는 것이 좋습니다. 또한 제품 목록 만 표시합니다. 올바른 첫 번째를 가져와야합니다. – harshit

+0

+1, 이유에 대한 이유를 확인할 수 없어 SSCCE 및 전체 설명이 – mKorbel

+0

인 경우 getContentPane()이 필요합니다. 추가 (unitPrice, BorderLayout.NORTH); // 0',하지만이 벡터 및 JTable, JList에 대한 일이 아닌 것 같아요 – mKorbel

답변

0

Angel918 5 개월 동안 주변되지 않은 텍스트 파일을, 그래서 Meta Suggestion 당 대답 자신의 의견을 홍보하고있다.

알겠습니다. 이건 내가 망쳐 놓은 와트 야. 감사합니다. 가격

unitPrice.setText(" " + prices[productList.getSelectedIndex()] +" "+productnames[productList.getSelectedIndex()]);