package XDEDM_Notepad; import java.awt.*; //图形界面java库 import javax.lang.model.util.ElementScanner6; import javax.swing.*; //GUI工具包 import java.awt.event.*; //AWT事件包 import java.io.*; //输入输出 import java.awt.datatransfer.*; //复制粘贴数据传输 public class XNotepad extends JFrame implements ActionListener,WindowListener { JTextArea XNarea = new JTexArea(); File fnameContainer; public XNotepad(){ Font fnt = new Font("SimSun",Font.PLAIN,15); //宋体,15号 Container con=getContentPane(); JMenuBar XNb = new JMenuBar(); //菜单栏目 JMenu XNfile = new JMenu("文件"); JMenu XNedit = new JMenu("编辑"); JMenu XNhelp = new JMenu("编辑"); JMenu XNelse = new JMenu("其他"); con.setLayout(new BorderLayout()); //边界布局 JScrollPane sbrText = new JScrollPane(XNarea); //滚动条(根据需要显示) sbrText.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); sbrText.setVisible(true); //显示滚动面板 XNarea.setFont(fnt); //设置字体 XNarea.setLineWrap(true); //自动换行 XNarea.setWrapStyleWord(true); //单词换行 XNarea.setVisible(true); //显示文本域 con.add(sbrText); //添加滚动面板 con.add(XNb,BorderLayout.NORTH); //添加菜单栏 createMenuItem(XNfile,"新建"); //创建菜单项 createMenuItem(XNfile,"打开"); createMenuItem(XNfile,"保存"); createMenuItem(XNedit,"复制"); createMenuItem(XNedit,"剪切"); createMenuItem(XNedit,"粘贴"); createMenuItem(XNedit,"全选"); createMenuItem(XNedit,"删除"); createMenuItem(XNhelp,"字号"); createMenuItem(XNhelp,"字体"); createMenuItem(XNhelp,"缩放"); createMenuItem(XNelse,"关于"); createMenuItem(XNelse,"退出"); XNb.add(XNfile); //添加菜单 XNb.add(XNedit); XNb.add(XNhelp); XNb.add(XNelse); setJMenBar(XNb); //设置菜单栏 //指定一个图片作为窗口的图标 setIconImage(Toolkit.getDefaultToolkit().getImage("XNcat.jpg")); addWindowListener(this); //添加窗口监听器 setSize(500,500); //设置窗口大小 setTitle("新建记事本.txt"); //设置标题 setVisible(true); //显示窗口 } public void createMenuItem(JMenu jm,String txt){ //创建菜单项 JMenuItem jmfire = new JMenuItem(txt); //创建菜单项 jmfire.addActionListener(this); //添加监听器 jm.add(jmfire); } public void actionPerformed(ActionEvent e){ JFileChooser jfc = new JFileChooser(); //文件选择器 if(e.getActionCommand().equals("新建")){ this.setTitle("新建记事本.txt"); XNarea.setText(""); fnameContainer = null; }else if(e.getActionCommand().equals("打开")){ int ret = jfc.showDialog(null,"打开"); if(ret == JFileChooser.APPROVE_OPTION){ try{ File f = jfc.getSelectedFile(); OpenFile(f.getAbsolutePath()); this.setTitle(f.getName()); fnameContainer = f; }catch(IOException ers){} //捕获异常 } }else if(e.getActionCommand().equals("保存")){ if(fnameContainer != null){ jfc.setCurrentDirectory(fnameContainer); jfc.setSelectedFile(fnameContainer); }else{ jfc.setSelectedFile(new File("新建记事本.txt")); } int ret = jfc.showDialog(null); if(ret == JFileChooser.APPROVE_OPTION){ try{ File fyl = jfc.getSelectedFile(); SaveFile(fyl.getAbsolutePath()); this.setTitle(fyl.getName()); fnameContainer = fyl; }catch(Exception ers){} } }else if(e.getActionCommand().equals("复制")){ XNarea.copy(); }else if(e.getActionCommand().equals("剪切")){ XNarea.cut(); }else if(e.getActionCommand().equals("粘贴")){ XNarea.paste(); }else if(e.getActionCommand().equals("全选")){ XNarea.selectAll(); }else if(e.getActionCommand().equals("删除")){ XNarea.replaceSelection(""); }else if(e.getActionCommand().equals("字号")){ }else if(e.getActionCommand().equals("字体")){ }else if(e.getActionCommand().equals("缩放")){ }else if(e.getActionCommand().equals("关于")){ JOptionPane.showMessageDialog(this,"制作者:薛定谔的猫 团队","关于",JOptionPane.INFORMATION_MESSAGE); }else if(e.getActionCommand().equals("退出")){ Exiting(); } } private void OpenFile(String absolutePath) { } }