디시인사이드 갤러리

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

갤러리 본문 영역

자바 고수님들 질문좀 ㅠㅠ

외계햏자(124.137) 2010.10.07 17:22:50
조회 80 추천 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
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
공지 프로그래밍 갤러리 이용 안내 [88] 운영자 20.09.28 45067 65
2868921 ibus 바이너리 크기) 러스트는 진짜 정신병이다.. 노답이다. [4] 루비갤로그로 이동합니다. 19:39 13 0
2868919 ㅆㅇㅆ봐라 [3] 배구공(119.202) 18:57 46 1
2868918 am4, 메모리 소켓 4, 고주파 없는 보드 추천 좀 [2] 루비갤로그로 이동합니다. 18:56 14 0
2868917 홈서버 도로 돌려야겠다 루비갤로그로 이동합니다. 18:55 11 0
2868916 냥덩이를 살려주세양❤+ [2] ♥냥덩이♥갤로그로 이동합니다. 18:44 31 0
2868915 취업볼때 팀플경험도 많이 보냐 [2] ㅇㅇ갤로그로 이동합니다. 18:29 28 0
2868914 러스트 비판서를 유튜브 댓글에 한/영/중 링크 루비갤로그로 이동합니다. 18:25 12 0
2868913 근데 궁금한게 대체 얼마나 조현병자여야 나를 8개월 따라다니냐 [1] ㅆㅇㅆ(124.216) 18:23 47 0
2868912 오늘은 편안한 마음으로 책이나 다듬어야지 루비갤로그로 이동합니다. 18:22 13 0
2868911 디시 댓글 자동으로 달리게 하는거 가능함? [1] 프갤러(211.33) 18:21 19 0
2868910 좇센만큼 살기좋은나라가 어딨음 ㅋㅋ 뒷.통수한방(1.213) 18:21 10 0
2868909 자바 진짜 좆 폐기물이네 [1] 프갤러(222.112) 18:20 39 0
2868908 모든 모듈을 러스트로 빌드해봤냐고?? 루비갤로그로 이동합니다. 18:15 20 0
2868907 내 팬인 척 하는 사람도 깃갤가 놀아 루비갤로그로 이동합니다. 18:08 19 0
2868906 지방 컴공 4학년인데 뭐부터 해야함? [2] 프갤러(125.134) 18:05 34 0
2868905 내가 러스트 깟다고 깃갤 애들 아직도 허위사실 유포하니 [2] 루비갤로그로 이동합니다. 17:56 23 0
2868904 오늘 업무 끝났다 개새끼들아 [6] 아스카영원히사랑해갤로그로 이동합니다. 17:47 43 0
2868903 응꼬가 아파요 [11] 개멍청한유라갤로그로 이동합니다. 17:44 47 0
2868902 굳이 보여주려하지않아도 배구공(119.202) 17:42 18 0
2868901 어이가 없다. ㅎㅎㅎ 전화기 신호가 꺼져있데... 넥도리아(121.139) 17:41 18 0
2868900 4기가램 노트북으로 코딩하라는 부모 [5] 프갤러(39.7) 17:28 44 0
2868899 080111599 넥도리아(121.139) 17:25 17 0
2868897 백엔드는 스프링 먼저 배우는게 정배다. [1] 프갤러(218.154) 17:15 44 0
2868896 북한해커들 컴퓨터 존나잘하게생겻네 ㅇㅈ? [1] ㅇㅇ(118.235) 17:13 43 0
2868894 플밍 개고수들은 생긴것부터 남다르다 ㅇㅇ(118.235) 17:10 26 0
2868893 깃에다가 올렸다는데 자꾸 캡처해서 보내주세요 [1] ㅇㅇ갤로그로 이동합니다. 17:06 19 0
2868892 오늘 점수 나왔는데 생각한거보다 잘나옴. [3] ㅇㅇ(223.38) 16:47 47 0
2868891 형님들 백엔드 스프링부트 먼저 하고 [11] 프갤러(106.102) 16:46 51 0
2868890 여름면접 처음인데 어떻게 입고가냐?? [2] 프갤러(39.117) 16:42 32 0
2868889 젊어서 부럽다 배구공(119.202) 16:33 22 0
2868888 보고 싶다 [2] 프갤러(121.129) 16:32 31 0
2868887 코딩 인강 질문점 [1] 프갤러(211.36) 16:28 26 0
2868886 한국 개발직 2025년 통계 프갤러(107.189) 16:23 58 2
2868885 저번에 롯데리아 소프트크랩버거 출시기념으로 [1] 배구공(119.202) 16:15 29 0
2868884 국비충 학원 콤퓨타 사양 [1] ㅇㅇ(118.235) 16:14 43 0
2868883 아직 중국은 셰이더 운운할때는 [3] 배구공(119.202) 16:13 35 0
2868882 누가 나님 냥덩이 만진거야? [4] ♥냥덩이♥갤로그로 이동합니다. 16:07 30 0
2868881 한국인들의 저작권 의식은 과제대행 시장만 봐도알수있음 [1] ㅇㅇ(103.251) 15:55 65 4
2868880 요약: ㅆㅇㅆ는 무책임하게 베끼기만 하고 그걸 말하고 있음 ㅇㅇ(140.248) 15:52 51 4
2868879 아니 중국 블로그 참고했고, 중국 블로그가 원저작자가 아녔다 그래서 [5] ㅆㅇㅆ(124.216) 15:50 54 0
2868878 ❤✨☀⭐나님 시작합니당⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 15:44 22 0
2868877 디시에 씨발 중국 쉐이더 블로그에 구현방식 적혀있던거 HLSL로 [5] ㅆㅇㅆ(124.216) 15:44 43 0
2868876 둠 헥센 헤레틱 듀크뉴켐3d 배구공(119.202) 15:44 19 0
2868875 쉐이더 베꼈다고 생각하는 대가리면 아직도 참.. [12] ㅆㅇㅆ(124.216) 15:30 72 0
2868874 나 재수강할거 다해도 학점 3점 초반대가 최대인데 [2] 프갤러(115.91) 15:26 33 0
2868872 똑같은글로 실베 두번감 푸루린갤로그로 이동합니다. 15:18 26 0
2868871 이게 나라탓이라고 보이는 저능아는 대체 어찌해야좋냐 [34] ㅆㅇㅆ(124.216) 15:16 122 0
2868870 오늘은 나라탓 프갤러(140.248) 15:07 35 2
2868869 한국 게임 개발도 그래 유명 게임 개발자들이 쓴 책, 발언 뜬적있냐 [3] ㅆㅇㅆ(124.216) 15:04 63 1
뉴스 유은빈 모델, '청순미 가득' (2025 인천국제민속영화제) 디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2