1 实验内容:设计与实现一个文本编辑器,要求具有方便的图形用户界面,包括标题栏、菜单栏,菜单栏有相关的菜单和菜单项,有快捷键,具有编辑、打开、保存、复制、粘贴等功能(详细功能要求通过运行提供的字节码文件来确定,主类是 JNotePadUI)。完成有关类的设计,并调试运行,给出有代表性的程序输出结果(程序运行截图)。 程序运行截图如下; 图一 2 图二 图三 3 图四 图五 4 图六 5 图三 程序代码如下: //JNotePadUI.java import java.awt.*; import java.awt.event.*; import java.awt.datatransfer.*; import java.io.*; import javax.swing.*; import javax.swing.text.*; public class JNotePadUI extends JPanel { // 变量定义 JTextArea jta = new JTextArea("", 24, 40); JScrollPane jsp = new JScrollPane(jta); // 菜单条 JMenuBar jmb = new JMenuBar(); JMenu file = new JMenu("文件(F)", true); JMenu edit = new JMenu("编辑(E)", true); JMenu help = new JMenu("帮助(H)", true); // 工具条 JToolBar toolBar = new JToolBar(); 6 // 菜单内容 JMenuItem jmi; // 实例化剪切板 Clipboard clipbd = getToolkit().getSystemClipboard(); String text = ""; // 构造函数 public JNotePadUI() { class newL implements ActionListener { public void actionPerformed(ActionEvent e) { jta.setDocument(new PlainDocument()); } } // 打开功能 class openL implements ActionListener { public void actionPerformed(ActionEvent e) { JFileChooser fc = new JFileChooser(); int returnVal = fc.showDialog(JNotePadUI.this, "打开"); if (returnVal == JFileChooser.APPROVE_OPTION) { String file = fc.getSelectedFile().getPath(); if (file == null) { return; } // 读取文件 try { Reader in = new FileReader(file); char[] buff = new char[4096]; int nch; while ((nch = in.read(buff, 0, buff.length)) != -1) { jta.setDocument(new PlainDocument()); jta.append(new String(buff, 0, nch)); } } catch (IOException io) { System.err.println("IOException: " + io.getMessage()); } } else { retu...