Day 25(9/6) 메모장 만들기
2016. 9. 6. 17:36ㆍProgramming/Java
**오늘 배운 내용**
1. 메모장 메뉴 구현
2. txt 파일 저장/불러오기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | import java.awt.FileDialog; import java.awt.Frame; import java.awt.Menu; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; import java.awt.MenuBar; import java.awt.MenuItem; class TextEditor extends Frame { TextArea ta; MenuBar mb; Menu menu; MenuItem miNew, miSaveAs, miOpen, miExit;// miOpen - FileReader, miSaveAs - // FileWriter String fileName; public TextEditor(String title) { super(title); ta = new TextArea(); mb = new MenuBar(); menu = new Menu("file"); miNew = new MenuItem("new"); miSaveAs = new MenuItem("open"); miOpen = new MenuItem("save"); miExit = new MenuItem("exit"); ActionListener mh = new MenuHandler(); miNew.addActionListener(new MenuHandler()); miOpen.addActionListener(new MenuHandler()); miSaveAs.addActionListener(new MenuHandler()); miExit.addActionListener(new MenuHandler()); menu.add(miNew); menu.add(miOpen); menu.add(miSaveAs); menu.addSeparator(); menu.add(miExit); mb.add(menu); this.add(ta); this.setMenuBar(mb); this.setBounds(300, 200, 600, 500); this.setVisible(true); } public void fileOpen(String fileName) { // ch17input_output.L04SerialInput FileReader fr; BufferedReader br; StringWriter sw; // sw.writer(br.readline()); // ta.setText(sw); try { fr = new FileReader(fileName); br = new BufferedReader(fr); sw = new StringWriter(); // fr => br => sw while (br.readLine() != null) { // 문제 해결 sw.write(br.readLine() + "\n"); } br.close(); ta.setText(sw.toString()); } catch (IOException e) { e.printStackTrace(); } } public void saveAs(String fileName) { // ch17input_output.L03SerialOut FileWriter fw; BufferedWriter bw; try { fw = new FileWriter(fileName); bw = new BufferedWriter(fw); bw.write(ta.getText()); bw.close(); } catch (IOException e) { e.printStackTrace(); } } class MenuHandler implements ActionListener { @Override public void actionPerformed(ActionEvent e) { String emd = e.getActionCommand(); if (emd.equals("new")) { ta.setText(""); } else if (emd.equals("open")) { FileDialog fd = new FileDialog(TextEditor.this, "file open"); fd.setVisible(true); fileName = fd.getDirectory() + fd.getFile(); fileOpen(fileName); } else if (emd.equals("save")) { FileDialog fd = new FileDialog(TextEditor.this, "save as", FileDialog.SAVE); fd.setVisible(true); fileName = fd.getDirectory() + fd.getFile(); saveAs(fileName); } else if (emd.equals("exit")) { System.exit(0); } } } } public class L03TextEditor { public static void main(String[] args) { new TextEditor("memo"); } } | cs |
'Programming > Java' 카테고리의 다른 글
Day 27(9/8) TcpipServer (0) | 2016.09.09 |
---|---|
Day 26(9/7) TcpipClient (0) | 2016.09.08 |
Day 24(9/5) 채팅창 만들기 (0) | 2016.09.05 |
쉬운 예제 (0) | 2016.09.04 |
JAVA 개념 간단 정리 (0) | 2016.09.04 |