2011-03-19 3 views
3

NetBeans 6.9.1에서 "탐색"버튼이 열려서 대화 상자를 열어야하는 Summarizer 프로젝트를 만들고 있습니다. JFileChooser. 나는 여기를 보았다 : very similar question on stackoverflowjFileChooser.showOpenDialog()가 응용 프로그램을 고정시킵니다. 오류/예외가 없습니다. 몇 가지 시도했습니다.

내 문제는 똑같아, 나는 stackoverflow에 대한 또 다른 비슷한 질문을 시도한 현재 디렉토리를 설정하려했지만, 심지어 내 PC에서 작동하지 않습니다.

나는 아직도 도대체 내 실수라고 생각하지 않습니다. 나는 EDT에서 실행되지 않는 것이 같은 오류라고 생각한다. netbeans를 사용하고 있는데, 코드가 큽니다. 나는 EDT 일을 위해 어디에서 변화를 만들 수 있는지를 알 수 없다. 그래서 나는 관련 부분 만 게시 할 것입니다. 내 문제를 해결하기 위해 내가해야 할 일을보고 말해 주시겠습니까?

private void cmdBrowseActionPerformed(java.awt.event.ActionEvent evt) {           


     jFileChooser1.setCurrentDirectory(new File("F:/BE-Project/Summarizer")); 
     jFileChooser1.setDialogTitle("Open File"); 
     jFileChooser1.setFileSelectionMode(JFileChooser.FILES_ONLY); 
     int returnVal = jFileChooser1.showOpenDialog(Summarizer.this); 
     if (returnVal== JFileChooser.APPROVE_OPTION) { 
      try { 

       fin = jFileChooser1.getSelectedFile(); 
       fileContents = Files.readFromFile(fin,"ISO-8859-1"); 
       tAreafileContents.setText(fileContents); 
       txtInputFile.setText(fin.getAbsolutePath() + " -- " + fin.getName()); 
       tAreafileContents.setCaretPosition(tAreafileContents.getDocument().getLength()); 
      } 
      catch (Exception e) { 
       System.out.println(e); 
      } 

     } 

     else System.out.println("there is some error"); 
    }       

/* netbeans generated code */ 
public static void main(String args[]) { 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       new Summarizer().setVisible(true); 
      } 
     }); 
    }    

코드의 다른 부분이 필요하면 알려주십시오. 도와주세요. 나는 지금 당장 머리를 긁적이다.

+3

"코드의 다른 부분이 필요한지 알려주십시오."빠른 시간 내에 도움을 받으려면 SSCCE (http://pscode.org/sscce.html)를 게시하십시오. SSCCE는 저와 다른 사람들에게이 코드가 호출되는 * 보안 환경 *을 말할 수 있습니다. 실제로 보안 샌드 박스가있는 경우 'else'에 도달하지 않습니다. –

+0

@ 답장 적어도 애를 돌봐 주셔서 감사합니다. ..i는 내 합병증에 추가하지 말 것을 요청할 것입니다 ... 저는 이미 jfilechoser의 수정 된 coz에 있습니다. 내 응용 프로그램을 정지 시켰습니다. SSCCE처럼 .. 지금은 필요하지 않습니다. –

+0

@andrew가 내 응용 프로그램과 관련하여 다른 정보가 필요합니까? 그냥 netbeans.buy "코드의 다른 부분을 구입"나는 내 문제를 해결하려고 할 수도 있습니다 거대한 netbeans 자동 생성 된 코드의 일부를 의미 .. 내 문제는 그 jfilechooser 걸릴 것 같다 생각 Logged 파일 시스템에 접근하기에는 너무 길어 .. 내 응용 프로그램을 얼려 버리는 이유는 .. 그렇지만 왜 그렇게 오래 걸리는지 알아내는 것 같다. 내 앱 .. 동결 문제 .. 답이 정말 문제 –

답변

0

정말 JFileChooser에만 문제가 있습니까? F : 장치가 하드 드라이브, 네트워크 공유, USB 드라이브입니까? 그렇지 않은 경우, 장치를 하드 드라이브로 변경할 수 있습니까? 는 F에있는 파일을 읽고, 넷빈즈 내에서 명령 줄에서이 테스트를 실행하고 나는 당신의 문제는 EDT에서 디스크에서 File을 읽는 것을 제안 F

import java.io.*; 

public class FileSize 
{ 
    public static void main(String [] args) 
    { 
     //String fileName = "F:/BE-Project/Summarizer/someFile.txt"); 
     String fileName = "FileSize.java"; 
     long size = new File(fileName).length(); 
     System.out.println("size: " + size); 
    } 

} 
+0

답장을 보내 주셔서 감사합니다 ... 이것은 내 마지막 year engg 프로젝트였습니다 .. 나는 2 달 넘게 작업을 중단했습니다. jFileChooser는 작동하지 않았기 때문에 사용하지 않았습니다. 내가 사용했던 것을 기억하지 못합니다. (나는 그것을 만지지 않았습니다. 이후 2 개월 이상). ..하지만 여전히 답장을 보내 주셔서 감사합니다. 나는 다음 번에 다시 내 손을 얹어 보도록하겠습니다. - –

1

에 다른 장치 다른.

//this should be in a worker thread 
fileContents = Files.readFromFile(fin,"ISO-8859-1"); 

//this then gets dumped back on the EDT 
tAreafileContents.setText(fileContents); 
txtInputFile.setText(fin.getAbsolutePath() + " -- " + fin.getName()); 
tAreafileContents.setCaretPosition(tAreafileContents.getDocument().getLength()); 
+0

답장을 보내 주셔서 감사합니다 ... 이것은 내 마지막 year engg 프로젝트입니다. 나는 2 달 넘게 작업을 중단했다. jFileChooser는 작동하지 않아서 사용하지 않았다. 나는 기억하지 않는다. 나는 (나는 2 달 이상 그것을 만지지 않았다)... 그러나 아직도 답장을위한 감사합니다. 나는 그것을 확실하게 시험 할 것이다. 다음 번에는 내 손을 다시 놓을 것이다. –

+0

나는 똑같은 문제를 안고 있었다. 동부 서머 타임, 감사 akf – elect

관련 문제