2014-04-09 6 views
0

JTable 및 텍스트 파일에서 데이터를 삭제하려고 시도했지만 "AWT-EventQueue-0" java.lang.NullPointerException이 있습니다. 제발 도와주세요, 내 코드는"AWT-EventQueue-0"java.lang.NullPointerException을 처리하는 방법?

private void btndeleteActionPerformed(java.awt.event.ActionEvent evt2){ 
    deleteRow();   } 


    private void deleteRow() 
     { 
     dtm = (DefaultTableModel)myjtable.getModel();`EXCEPTION AT THIS LINE ` 
     int r=myjtable.getSelectedRow(); 

     String str=myjtable.getValueAt(r,0).toString(); 


     int row=dtm.getRowCount();  

     try 
     { 
      RandomAccessFile r1=new RandomAccessFile("C:\\Myfile.txt","rw"); 
      RandomAccessFile r2=new RandomAccessFile("C:\\TempFile.txt","rw"); 
      FileWriter myfile = new FileWriter("C:\\TempFile.txt",true); 
      PrintWriter outStream = new PrintWriter(myfile); 
      FileWriter myfile1 = new FileWriter("C:\\Myfile.txt",true); 
      PrintWriter outStream1 = new PrintWriter(myfile1); 

      r2.setLength(0); 


      String regexp = "[|]+"; 
      for(int i=0;i<row;i++) 
      { 
      String str1=r1.readLine().trim(); 
      String[] line = str1.split(regexp); 
      if(line[0].compareTo(str)!=0) 
      { 
       outStream.print(str1); 
       outStream.print("\r\n"); 

      } 
      } 
      outStream.close(); 

      r2.seek(0); 
      r1.setLength(0); 
      for(int i=0;i<row-1;i++) 
      { 

      String str1=r2.readLine().trim(); 


      { 
       outStream1.print(str1); 
       outStream1.print("\r\n"); 

      } 
      } 
      r1.close(); 
      r2.close(); 
      outStream1.close(); 
      readFile(); 
     } 
     catch (IOException e) {  
      System.out.println(e);  
     } 



     } 
+1

분명히'myjtable'가 null 그래서 당신은 아마 같은 코드 뭔가가있다. 제발 그것의 초기화를 보여주십시오 – nikis

+0

제발 내가 어떤 라인을 수정해야 말해 줄 수 있습니까. 죄송합니다. java에 새로 온 것입니다. pls – mayuresh

+0

'myjtable'이 (가) 더 많은 코드를 보여주십시오. – nikis

답변

0

내 생각에 당신은 myjtable 변수를 섀도 잉하고있는 것입니다. 즉,이를 클래스의 인스턴스 변수로, 코드의 로컬 변수로 정의했다는 의미입니다. 코드가 있어야한다, 그래서 당신은 로컬 변수를 원하지 않는

JTable myjtable; // the instance variable 
. 
. 
. 
. 
JTable myjtable = new JTable(...); // local variable 

:

myjTable = new JTable(...);