📄 notepad.java
字号:
import java.io.*;import java.awt.*;import java.awt.event.*;public class notepad extends Frame implements ActionListener{ /***************视图设计***************/ MenuBar mb=new MenuBar(); Menu m1=new Menu("File"); MenuItem mi1=new MenuItem("New"); MenuItem mi2=new MenuItem("Load"); MenuItem mi3=new MenuItem("Save"); MenuItem mi4=new MenuItem("Save As"); MenuItem mi5=new MenuItem("Quit"); Menu m2=new Menu("Edit"); Menu m3=new Menu("About"); TextArea t=new TextArea(); /***************变量定义****************/ String FileName=""; String FileDirectory="/"; int save=0; //0未保存,1保存 public notepad() { super("记事本"); setSize(500,500); mi1.addActionListener(this); mi2.addActionListener(this); mi3.addActionListener(this); mi4.addActionListener(this); mi5.addActionListener(this); m1.add(mi1); m1.add(mi2); m1.add(mi3); m1.add(mi4); m1.add(mi5); mb.add(m1); mb.add(m2); mb.add(m3); m2.addActionListener(this); m3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Event) { System.exit(0); } }); setMenuBar(mb); setVisible(true); add(t); } public void actionPerformed(ActionEvent evt) { char msg=evt.getActionCommand().charAt(0); switch(msg) { case 'N':newFile();break; case 'L':loadFile();break; case 'S':if(evt.getActionCommand().length()==4)saveFile(); else saveAsFile(); break; case 'A':System.exit(0);break; case 'E':break; case 'Q':isSavedAndExit(); System.exit(0); break; } } /***************创建新文件****************/ public void newFile() { FileName=""; FileDirectory="/"; t.setText(""); } /****************载入文件****************/ public void loadFile() { Frame loadframe=new Frame(); FileDialog d=new FileDialog(loadframe,"Load File",FileDialog.LOAD); d.setVisible(true); try { FileReader fr=new FileReader(d.getDirectory()+d.getFile()); FileName=d.getFile(); FileDirectory=d.getDirectory(); BufferedReader br=new BufferedReader(fr); String line=br.readLine(); t.setText(""); while(line!=null) { t.append(line); t.append("\n"); line=br.readLine(); } br.close(); } catch(Exception e) { System.out.println(e); } } /**************保存文件****************/ public void saveFile() { if(FileName.length()==0) { Frame saveframe=new Frame(); FileDialog d=new FileDialog(saveframe,"Save File",FileDialog.SAVE); d.setVisible(true); FileName=d.getFile(); FileDirectory=d.getDirectory(); } try { FileOutputStream fo=new FileOutputStream(FileDirectory+FileName); DataOutputStream dos=new DataOutputStream(fo); byte[] b=t.getText().getBytes(); dos.write(b); fo.close(); } catch(Exception e) { System.out.println(e); } } /**************文件另存为******************/ public void saveAsFile() { FileName=""; saveFile(); } /*************退出程序判断文件是否保存的确认对话框************/ public void isSavedAndExit() { if(save==1)System.exit(0); else { } } public static void main(String[] args) { notepad n=new notepad(); n.setVisible(true); n.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { //*************判断文件是否保存****************// System.exit(0); } }); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -