디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

자바 고수님들 질문좀 ㅠㅠ

외계햏자(124.137) 2010.10.07 17:22:50
조회 74 추천 0 댓글 0

메모장 짤때 File 메뉴 있는 부분을 클래스로 떨어뜨려 놓은건데
오류가 나서요... ㅠㅠ 고수님들 쓱 보시고 뭐땜인지 아시리라 믿어 의심치 않습니다 ㅠ


--------------------------------------------------------------------------------------------------------------------
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.io.*;

//메뉴_파일
public class File extends JFrame{
 public JMenu File; 
 public JMenuItem fnew;    
 public JMenuItem fopen;   
 public JMenuItem foverride;  
 public JMenuItem fsave;   
 public JMenuItem fclose; 
 public JFileChooser fileChoose; 
 public String currentFile;   
 public String currentPath; 

 //파일 소메뉴
 public File(){
  File = new JMenu("파일");   
  File.setMnemonic(\'F\');    
  fnew = new JMenuItem("새로 만들기(N)");   
  fopen = new JMenuItem("열기(O)");   
  foverride = new JMenuItem("저장(S)");  
  fsave = new JMenuItem("다른 이름으로 저장(A)");  
  File.addSeparator();   
  fclose  = new JMenuItem("끝내기");  

  File.add(fnew);     
  File.add(fopen);     
  File.add(foverride);    
  File.add(fsave);     
  File.add(fclose);
  
  fileChoose = new JFileChooser(); 
  
  //새로 만들기 기능
  fnew.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent aevt) {
    setTitle("메모장-제목없음");   
    Memo.keyText.setText("");    
   }
  });
  
  //열기 기능
  fopen.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent aevt) {
     
    int openDiag = fileChoose.showOpenDialog(File.this);

    if (openDiag == JFileChooser.APPROVE_OPTION) {       
     try {
      String  readStr;     
      File fis = fileChoose.getSelectedFile();   
      currentPath = fis.getAbsolutePath();    
      BufferedReader bread = new BufferedReader(
        new FileReader(currentPath));
      Memo.keyText.setText(bread.readLine());

      while ((readStr = bread.readLine()) != null) {
       Memo.keyText.append("\\n" + readStr);    
      }

      bread.close();         
      currentFile = fis.getName();     
      setTitle("메모장-" + currentFile);
     }catch(IOException ie) {
      JOptionPane optionpane =
       new JOptionPane("IO에러:", JOptionPane.ERROR_MESSAGE);
      JDialog diag = optionpane.createDialog(Memo.pane,"File");
      diag.setVisible(true);
     }
    }
   }
  });
  
  //저장 기능
  foverride.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent aevt) {
    if (currentPath != null) {       
     try {     
      PrintWriter pwrite = new PrintWriter(
        new BufferedWriter(
          new FileWriter(currentPath)));
      pwrite.write(Memo.keyText.getText()); 
      pwrite.close();    
     }     
     catch(IOException ie) {
      JOptionPane optionpane =
       new JOptionPane("IO에러:", JOptionPane.ERROR_MESSAGE);
      JDialog diag = optionpane.createDialog(Memo.pane,"메모장");
      diag.setVisible(true);
     }
    } else {   
     int openDiag = fileChoose.showSaveDialog(File.this);

     if (openDiag == JFileChooser.APPROVE_OPTION) {
      try {
       File fos = fileChoose.getSelectedFile();  
       currentPath = fos.getAbsolutePath();   

       PrintWriter pwrite = new PrintWriter(new BufferedWriter(
         new FileWriter(currentPath)));

       pwrite.write(Memo.keyText.getText());  
       pwrite.close();     
       currentFile = fos.getName();      
       setTitle("메모장-" + currentFile); 
      } 

      catch(IOException ie) {
       JOptionPane optionpane =
        new JOptionPane("IO에러:", JOptionPane.ERROR_MESSAGE);
       JDialog diag = optionpane.createDialog(Memo.pane,"메모장");
       diag.setVisible(true);
      }
     }
    }
   }
  });

  //다른 이름으로 저장 기능
  fsave.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent aevt) {
    int openDiag = fileChoose.showSaveDialog(File.this);
    if (openDiag == JFileChooser.APPROVE_OPTION) {
     try {
      File fos = fileChoose.getSelectedFile();    
      currentPath = fos.getAbsolutePath();   
      PrintWriter pwrite = new PrintWriter(
        new BufferedWriter(
          new FileWriter(currentPath)));

      pwrite.write(Memo.keyText.getText());    
      pwrite.close();       
      currentFile = fos.getName();    
      setTitle("메모장-" + currentFile);
     }


     catch(IOException ie) {
      JOptionPane optionpane =
       new JOptionPane("IO에러:", JOptionPane.ERROR_MESSAGE);
      JDialog diag = optionpane.createDialog(Memo.pane,"메모장");
      diag.setVisible(true);
     }
    }
   }
  });

  //닫기 기능
  fclose.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent aevt) {
    System.exit(0);          
   }
  });
 }
}


----------------------------------------------------------------------------------------------------------------------
File fis = fileChoose.getSelectedFile();   
      currentPath = fis.getAbsolutePath(); 

File fos = fileChoose.getSelectedFile();  
       currentPath = fos.getAbsolutePath();

File fos = fileChoose.getSelectedFile();    
      currentPath = fos.getAbsolutePath(); 

요 세부분인데요 ,,, 고수님들 헬미 ㅠㅠ

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 시세차익 부러워 부동산 보는 눈 배우고 싶은 스타는? 운영자 24/05/27 - -
218924 늅늅 개발자한테 조언좀.. [12] Tsabes(58.72) 10.11.19 125 0
218923 JAVA 학원을 다니겠습니다. [6] 막장갤신학생갤로그로 이동합니다. 10.11.19 165 0
218922 백수생활 [4] 손목(112.154) 10.11.19 147 0
218921 미들 사이드 조인트 스테레오 [1] prismatic갤로그로 이동합니다. 10.11.19 84 0
218920 희망이... [6] 권혁진(218.239) 10.11.19 97 0
218917 삼성SDS 의 행보를 어떻게 생각함요? [5] 뉴비(59.22) 10.11.19 222 0
218916 어그로 그만해야지 난 간다. [2] 칭송받는자(210.118) 10.11.19 157 0
218914 상황이 어느정도 정리가 되었네 [6] 해일리갤로그로 이동합니다. 10.11.19 102 0
218913 보안 공부를 해야겠다. [3] Ordinary Day갤로그로 이동합니다. 10.11.19 92 0
218912 내 작업환경 [9] 칭송받는자(210.118) 10.11.19 186 0
218911 IT 종사자들은 이정도 대접 받아야 된다. [4] 칭송받는자(210.118) 10.11.19 225 0
218910 형들 능력을 보여줘 [9] (203.252) 10.11.19 80 0
218908 말은 제대로 하자 [7] 칭송받는자(210.118) 10.11.19 131 0
218907 mfc 다이얼로그 뜨는 위치 질문 좀 ㅋ [4] 아즈시체갤로그로 이동합니다. 10.11.19 590 0
218906 서현역 버거헌터 [8] 분당살람갤로그로 이동합니다. 10.11.19 202 0
218905 앞으로는 [7] 땡칠도사갤로그로 이동합니다. 10.11.19 103 0
218904 공개실연까지 당하고 [7] 해일리갤로그로 이동합니다. 10.11.19 120 0
218903 아놔 씨발 메가스터디 씹새끼들 [7] elwlwlwk갤로그로 이동합니다. 10.11.19 117 0
218902 ........? [1] 권혁진(218.239) 10.11.19 34 0
218901 피곤함이 가시질 않네 이모군(1.225) 10.11.19 38 0
218900 삼항연산자 설리의 구조 - 1편 [2] 칭송받는자(210.118) 10.11.19 95 0
218899 19금 모음 [4] elwlwlwk갤로그로 이동합니다. 10.11.19 150 1
218898 안녕 보지맨들아 ? [1] 칭송받는자(210.118) 10.11.19 134 0
218896 짤 투척! [6] 일광면(119.198) 10.11.19 108 0
218895 자바는 망한다 [5] 칭송받는자(210.118) 10.11.19 224 0
218894 자바 진심 쫌 망했으면 좋게따 일광면(119.198) 10.11.19 117 0
218893 레즈와 백합 [6] 땡칠도사갤로그로 이동합니다. 10.11.19 171 0
218892 안녕 하드 코더들아 ? [5] 칭송받는자(210.118) 10.11.19 135 0
218891 개발자가 아니라고 치면 [4] 분당살람갤로그로 이동합니다. 10.11.19 81 0
218890 C언어영역 두문제 나왔네... [1] 뒷북둥둥이(121.182) 10.11.19 96 0
218889 23살의 여자 개발자란 있을 수 없다 [14] 비교연산자(121.67) 10.11.19 249 0
218888 나 게이인가봐..화장질이 잼있어 [4] 일광면(119.198) 10.11.19 67 0
218887 수능언어 문제에 포인트 나옴 ㅋㅋㅋ [3] 모모이갤로그로 이동합니다. 10.11.19 114 0
218886 성공적인 프로젝트를 위해 필요한 것. [3] 한강구조견(59.6) 10.11.19 88 0
218885 반성해라 병신들아 [3] 칭송받는자(210.118) 10.11.19 97 0
218884 갤럭시S에 관한 아무도 모르는 간단한 팁 공개 임베디드(115.94) 10.11.19 122 0
218883 아 빌드에러 뜬다. [4] 한강구조견(59.6) 10.11.19 96 0
218882 해일리 And 민류 짜응은 사실을 고하라! [13] 쭈중(116.47) 10.11.19 136 0
218881 좀 있으면 연말 업무 평가 시즌. [3] deadbeef갤로그로 이동합니다. 10.11.19 135 0
218880 오늘은 힘이 안나 [6] 해일리갤로그로 이동합니다. 10.11.19 86 0
218879 프겔이 처음이라면 이글부터 봐라 !!! [3] 칭송받는자(210.118) 10.11.19 123 0
218878 네임드가 되고 싶은 찌질이 입니다. [5] 칭송받는자(210.118) 10.11.19 98 0
218877 오락실에서 쳐맞는 이유 [3] Ordinary Day갤로그로 이동합니다. 10.11.19 129 0
218876 프갤러가 되려면 어떻게해야해용? [2] 나는scv갤로그로 이동합니다. 10.11.19 68 0
218875 리눅스jsp 웹호스팅할라는데 리눅스 몰라도됨? [4] 핸드메이드(58.233) 10.11.19 102 0
218874 운영체제 공부하기 좋은책점 [10] 고칼로리갤로그로 이동합니다. 10.11.19 195 0
218873 아아 좋은 [2] 땡칠도사갤로그로 이동합니다. 10.11.19 82 0
218872 힘든 하루였따. [2] Gromit갤로그로 이동합니다. 10.11.19 92 0
218871 무언가 작품을 시연할때의 미스테리. [4] 연화갤로그로 이동합니다. 10.11.19 117 0
218870 오랜만에 프갤에 글을 싸본다. [16] 연화갤로그로 이동합니다. 10.11.19 152 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2