860709 루나
2014. 8. 7. 13:51
2014. 8. 7. 13:51
자바 연습 네번째!!
자바 awt , event , io 를 이용하여
메뉴만들기 도전 해보겠습니다.
자바에서 아주 기본적인 예제로 보시면
되겠습니다.
메뉴는 어디에서든 필요한 필수 입니다.
천천히 따라해보세요 ^^
import java.awt.*; import java.awt.event.*; import java.io.*;
class TextEditor extends Frame { String fileName; TextArea content; MenuBar mb; Menu mfile; MenuItem minew , miopen , misaveas , miexit ;
TextEditor(String title){ super(title); content = new TextArea(); add(content);
mb = new MenuBar(); mfile = new Menu("파일"); minew = new MenuItem("New"); miopen = new MenuItem("open"); misaveas = new MenuItem("save As"); miexit = new MenuItem("Exit"); mfile.add(mfile); mfile.add(minew); mfile.add(miopen); mfile.add(misaveas); mfile.add(miexit);
mb.add(mfile); setMenuBar(mb); // 프레임에 menubar 를 포함시긴다 // 메뉴에 이벤트 핸들러를 등록한다 MyHandler handler = new MyHandler(); minew.addActionListener(handler); miopen.addActionListener(handler); misaveas.addActionListener(handler); miexit.addActionListener(handler);
setSize(300, 200); setVisible(true);
}
// 선택된 파일의 내용을 읽어서 TextArea에 보여주는 메서드 void fileOpen(String fileName){ FileReader fr; BufferedReader br; StringWriter sw;
try{ fr = new FileReader(fileName); br = new BufferedReader(fr); sw = new StringWriter();
int ch = 0; while((ch=br.read()) != -1) { sw.write(ch); } br.close(); content.setText(sw.toString()); }catch (IOException e){ e.printStackTrace(); } }
void saveAs(String fileName){ FileWriter fw; BufferedWriter bw; try{ fw = new FileWriter(fileName); bw = new BufferedWriter(fw); bw.write(content.getText()); bw.close(); } catch (IOException ie){ ie.printStackTrace(); } } public static void main(String args[]){ TextEditor main = new TextEditor("Text Editor"); }
//메뉴를 클릭했을 때 메뉴별 처리코드
class MyHandler implements ActionListener { public void actionPerformed(ActionEvent e){ String command = e.getActionCommand();
if(command.equals("New")){ content.setText("ff"); }else if (command.equals("open")){ FileDialog fileOpen = new FileDialog(TextEditor.this , "파일열기"); fileOpen.setVisible(true); fileName = fileOpen.getDirectory() + fileOpen.getFile(); System.out.println(fileName); fileOpen(fileName); } else if (command.equals("save As")){ FileDialog fileSave = new FileDialog(TextEditor.this , "파일저장" , FileDialog.SAVE); fileSave.setVisible(true); fileName = fileSave.getDirectory() + fileSave.getFile(); System.out.println(fileName); //현재 TextArea 의 내용을 선택된 저장한다. saveAs(fileName); } else if (command.equals("Exit")) { System.exit(0); } } }} |