请在 下方输入 要搜索的题目:

参考Windows平台的NotePad,编写一个简单的“记事本”程序。

参考Windows平台的NotePad,编写一个简单的“记事本”程序。

发布时间:2025-12-21 05:05:31
推荐参考答案 ( 由 专技宝 官方老师解答 )
答案:答: import java.awt.*;import java.awt.event.*;import javax.swing.JOptionPane;class Notepad extends Frame implements ActionListener{MenuBar menubar;Menu menu1,menu2,menu3,menu5;MenuItem item[]=new MenuItem[23];TextArea text;FileDialog filedialog_save;FileDialog filedialog_load;Notepad(String s){super(s);menubar=new MenuBar();menu1=new Menu("文件");menu2=new Menu("编辑");menu3=new Menu("格式");menu5=new Menu("帮助");item[0]=new MenuItem("新建");item[0].setShortcut(new MenuShortcut(KeyEvent.VK_N));item[1]=new MenuItem("打开");item[1].setShortcut(new MenuShortcut(KeyEvent.VK_O));item[3]=new MenuItem("保存");item[3].setShortcut(new MenuShortcut(KeyEvent.VK_S));item[4]=new MenuItem("页面设置");item[5]=new MenuItem("打印");item[5].setShortcut(new MenuShortcut(KeyEvent.VK_P));item[6]=new MenuItem("退出");item[7]=new MenuItem("撤销");item[7].setShortcut(new MenuShortcut(KeyEvent.VK_Z));item[8]=new MenuItem("剪切");item[8].setShortcut(new MenuShortcut(KeyEvent.VK_X));item[9]=new MenuItem("复制");item[9].setShortcut(new MenuShortcut(KeyEvent.VK_C));item[10]=new MenuItem("粘贴");item[10].setShortcut(new MenuShortcut(KeyEvent.VK_V));item[11]=new MenuItem("删除");item[12]=new MenuItem("查找");item[13]=new MenuItem("查找下一个");item[14]=new MenuItem("替换");item[15]=new MenuItem("转到");item[16]=new MenuItem("全选");item[17]=new MenuItem("时间/日期");item[18]=new CheckboxMenuItem("自动换行");item[21]=new MenuItem("帮助主题");item[22]=new MenuItem("关于记事本");text=new TextArea();filedialog_save=new FileDialog(this,"保存文件",FileDialog.SAVE);filedialog_load=new FileDialog(this,"打开文件",FileDialog.LOAD);filedialog_save.setVisible(false);filedialog_load.setVisible(false);filedialog_save.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){filedialog_save.setVisible(false);}});filedialog_load.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){filedialog_load.setVisible(false);}});menu1.add(item[0]);menu1.add(item[1]);menu1.add(item[3]);menu1.addSeparator();menu1.add(item[4]);menu1.add(item[5]);menu1.addSeparator();menu1.add(item[6]);menu2.add(item[7]);menu2.addSeparator();menu2.add(item[8]);menu2.add(item[9]);menu2.add(item[10]);menu2.add(item[11]);menu2.addSeparator();menu2.add(item[12]);menu2.add(item[13]);menu2.add(item[14]);menu2.add(item[15]);menu2.addSeparator();menu2.add(item[16]);menu2.add(item[17]);menu3.add(item[18]);menu5.add(item[21]);menu5.addSeparator();menu5.add(item[22]);menubar.add(menu1);menubar.add(menu2);menubar.add(menu3);menubar.add(menu5);item[0].addActionListener(this);item[1].addActionListener(this);item[3].addActionListener(this);item[6].addActionListener(this);item[21].addActionListener(this);item[22].addActionListener(this);setMenuBar(menubar);add(text,BorderLayout.CENTER);setBounds(100,100,600,400);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});setVisible(true);validate();}public void actionPerformed(ActionEvent e){if(e.getSource()==item[0]) //完成新建{text.setText(null);}else if(e.getSource()==item[1]) //完成打开{filedialog_load.setVisible(true);}else if(e.getSource()==item[3]) //完成保存{filedialog_save.setVisible(true);}else if(e.getSource()==item[6]) //完成退出{System.exit(0);}else if(e.getSource()==item[21]){JOptionPane.showMessageDialog(this,"此版本中有很多功能没有实现\n剩余功能正在开发中\n请等待下一版本","帮助主题",JOptionPane.INFORMATION_MESSAGE);}else if(e.getSource()==item[22]){JOptionPane.showMessageDialog(this,"名称: 自己做的NotePad\n作者: 王财\n版本: NotePad 1.1\n运行平台: Windows平台","关于记事本",JOptionPane.INFORMATION_MESSAGE);}}}public class Test{public static void main (String[] args) {new Notepad("自己做的NotePad");}}注:本题意义在于用本章学的内容添加一些对话框;此程序中有两种对话框的掉用;此程序只有大体模型,功能方面大部分都没有去实现。等学了第10章输入输出流以后,可以把本题当做课程设计去做。我这有做完的完整程序,有能力的想要的可以联系我。
专业技术学习
专业技术学习