




免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA实习报告Java记事本1源代码:package java记事本; / 将记事本打包为“记事本”的文件import java.awt.*;import java.awt.event.*;import javax.swing.JColorChooser;import java.io.*;import java.awt.datatransfer.*; 引入Java中包装类import javax.swing.JOptionPane;import javax.swing.JTextArea;import java.util.Date;import java.text.SimpleDateFormat;class F extends Frame implements ActionListener,WindowListener 记事本窗体的创建及部分功能的实现 FileDialog filedialog_save,filedialog_load; 记事本中的“打开”“保存”对话框的声明MenuBar menubar;Menu menu1,menu2,menu3,menu4,menu5,menu6;MenuItem item1,item2,item3,item4,item5,item6,item7,item8,item9,item10,item11,item12, 窗体上的各种菜单项目的声明item13,item14,item15,item16,item17,item18,item19,item20,item21,item22,item23,item24,item25,item26; TextArea text; 文本区的声明BufferedReader in; FileReader file_reader; 数据流的读写 BufferedWriter out; FileWriter tofile; String s; Clipboard clipboard=null; PrintJob p=null; /声明一个PrintJob对象。 Graphics g=null; Choice list; JTextArea t; Label label; Dialog mydialog; F(String s) 开始创建窗体并加载各种菜单项和文本区 setTitle(s); Toolkit tool=getToolkit();Dimension dim=tool.getScreenSize(); /窗体的相关设置setBounds(300,200,dim.width/2,2*dim.height/3);clipboard=getToolkit().getSystemClipboard(); menubar=new MenuBar(); /开始加载菜单项menu1=new Menu(文件 );menu2=new Menu(编辑 );menu3=new Menu(格式 );menu4=new Menu(查看 );menu5=new Menu(帮助 );menu6=new Menu(加密解密文本);/ 文件菜单item1=new MenuItem(新建(N);item1.setShortcut(new MenuShortcut(KeyEvent.VK_N); /实现快捷键item1.addActionListener(this);item2=new MenuItem(打开);item2.addActionListener(this);item2.setShortcut(new MenuShortcut(KeyEvent.VK_O);item3=new MenuItem(保存);item3.addActionListener(this);item3.setShortcut(new MenuShortcut(KeyEvent.VK_S);/item4=new MenuItem(另存为(A);/item4.addActionListener(this);item5=new MenuItem(页面设置);item5.addActionListener(this);item5.setShortcut(new MenuShortcut(KeyEvent.VK_U);item6=new MenuItem(打印);item6.addActionListener(this);item6.setShortcut(new MenuShortcut(KeyEvent.VK_P);item7=new MenuItem(退出);item7.addActionListener(this);/item7.setShortcut(new MenuShortcut(KeyEvent.VK_X);/ 编辑菜单item8=new MenuItem(撤销(Z);item8.addActionListener(this);item8.setShortcut(new MenuShortcut(KeyEvent.VK_Z);item9=new MenuItem(剪切(T);item9.addActionListener(this);item9.setShortcut(new MenuShortcut(KeyEvent.VK_T);item10=new MenuItem(复制);item10.addActionListener(this);item10.setShortcut(new MenuShortcut(KeyEvent.VK_C);item11=new MenuItem(粘贴);item11.addActionListener(this);item11.setShortcut(new MenuShortcut(KeyEvent.VK_V);item12=new MenuItem(删除);item12.addActionListener(this);item12.setShortcut(new MenuShortcut(KeyEvent.VK_D);item13=new MenuItem(查找);item13.addActionListener(this);item13.setShortcut(new MenuShortcut(KeyEvent.VK_F);item14=new MenuItem(查找下一个);item14.addActionListener(this);item15=new MenuItem(替换);item15.addActionListener(this);item15.setShortcut(new MenuShortcut(KeyEvent.VK_R);item16=new MenuItem(转到);item16.addActionListener(this);item17=new MenuItem(全选);item17.addActionListener(this);item17.setShortcut(new MenuShortcut(KeyEvent.VK_A);item18=new MenuItem(时间/日期);item18.addActionListener(this);/格式菜单item19=new CheckboxMenuItem(自动换行); /自动换行项item19.addActionListener(this);item20=new MenuItem(字体);item20.addActionListener(this);item24=new MenuItem(背景色);item24.addActionListener(this);/ 查看菜单item21=new MenuItem(状态栏(S);item1.addActionListener(this);/帮助菜单item22=new MenuItem(帮助主题);item22.addActionListener(this);item23=new MenuItem(关于记事本);item23.addActionListener(this);/item25=new MenuItem(加密文本);item25.addActionListener(this);item26=new MenuItem(解密文本);item26.addActionListener(this);/文件菜单项menu1.add(item1); /开始加载Item 项menu1.add(item2);menu1.add(item3);/menu1.add(item4);menu1.addSeparator(); /下划线menu1.add(item5);menu1.add(item6);menu1.addSeparator();menu1.add(item7);/编辑菜单项menu2.add(item8);menu2.addSeparator(); /下划线menu2.add(item9);menu2.add(item10);menu2.add(item11); menu2.add(item12);menu2.addSeparator(); /下划线menu2.add(item13);menu2.add(item14);menu2.add(item15);menu2.add(item16);menu2.addSeparator(); /下划线menu2.add(item17);menu2.add(item18);/格式菜单项menu3.add(item19);menu3.add(item20);menu3.add(item24);/查看菜单项menu4.add(item21);/帮助菜单项menu5.add(item22);menu5.addSeparator(); /下划线menu5.add(item23);/menu6.add(item25);menu6.add(item26);/ 菜单menubar.add(menu1); menubar.add(menu2);menubar.add(menu3);menubar.add(menu4);menubar.add(menu6);menubar.add(menu5); text=new TextArea(); /加载文本区 add(text); setMenuBar(menubar); 菜单项加载结束setVisible(true); addWindowListener(this); setResizable(false); /实现 打开 保存对话框 filedialog_save=new FileDialog(this,保存文件话框,FileDialog.SAVE); “打开”“保存”对话框的创建及实现 filedialog_load=new FileDialog(this,打开文件话框,FileDialog.LOAD); 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); ); /事件反应public void actionPerformed(ActionEvent e) if(e.getSource()=item7) /结束数据流,实现退出 System.exit(0); /实现调色板的功能 if(e.getSource()=item24) Color newColor=JColorChooser.showDialog(this,调色板,text.getBackground(); if(newColor!=null)text.setBackground(newColor); /结束 /打开文件if(e.getSource()=item2) filedialog_load.setVisible(true); text.setText(null); String s; if(filedialog_load.getFile()!=null) try File file= new File(filedialog_load.getDirectory(),filedialog_load.getFile(); 实现打开文件的功能 将文件读取 file_reader=new FileReader(file); in=new BufferedReader(file_reader); while(s=in.readLine()!=null) text.append(s+n); in.close(); file_reader.close(); catch(IOException e2) /实现保存功能 if(e.getSource()=item3) filedialog_save.setVisible(true); if(filedialog_save.getFile()!=null) try File file=new File(filedialog_save.getDirectory(),filedialog_save.getFile(); tofile=new FileWriter(file); out=new BufferedWriter(tofile); 实现保存功能 保存文件 out.write(text.getText(),0,(text.getText().length(); out.close(); tofile.close(); catch(IOException e2) if(e.getSource()=item1)text.setText(null); /新建 if(e.getSource()=item17)text.selectAll(); /全选 if(e.getSource()=item10) s=new String(text.getSelectedText(); StringSelection text1=new StringSelection(s); /实现复制功能 clipboard.setContents(text1,null); if(e.getSource()=item9) String temp=text.getSelectedText(); StringSelection text1=new StringSelection(temp); clipboard.setContents(text1,null); /实现剪切功能 int start=text.getSelectionStart(); int end =text.getSelectionEnd(); text.replaceRange(,start,end) ; if(e.getSource()=item11) Transferable contents=clipboard.getContents(this); DataFlavor flavor= DataFlavor.stringFlavor; if(contents.isDataFlavorSupported(flavor) /实现粘贴功能 trys=(String)contents.getTransferData(flavor); text.append(s); catch(Exception ee) if(e.getSource()=item9)s=new String(text.getSelectedText(); if(e.getSource()=item6) p=getToolkit().getPrintJob(this,ok,null); g=p.getGraphics(); g.translate(120,200); / 实现打印功能 text.printAll(g); g.dispose(); p.end(); if(e.getSource()=item23) /实现帮助中的 关于记事本 项 JOptionPane.showMessageDialog(this,本记事本所有权归编写员所有 n 感谢使用本软件 n QQ: 652781429 ,JAVA记事本,JOptionPane.INFORMATION_MESSAGE); 帮助菜单中“关于记事本”if(e.getSource()=item20)Win win=new Win(); if(e.getSource()=item18) / Time Date nowtime=new Date();String s; 获取当前系统时间 将其返回到文本区s=String.valueOf(nowtime);text.append(s); if(e.getSource()=item21) / 状态栏 int x,y; x=text.getCaretPosition(); y=text.getCaretPosition(); System.out.println(x); String a=String.valueOf(x); if(e.getSource()=item12) /删除 / text.getSelectedText().delete(); 将选择内容删除 if(e.getSource()=item19) /自动换行 /String str=text.getText(); /Dimension dim=tool.getScreenSize(); / text=new TextArea(width/2,2*dim.height/3-5); / add(text); if(e.getSource()=item25)MyDialogj mydialog2=new MyDialogj(加密文本); /加密文本内容 if(e.getSource()=item26)MyDialogjm mydialogjm=new MyDialogjm(解密文本); /解密文本内容 if(e.getSource()=item13|e.getSource()=item14)mydialog=new MyDialog(this,查找,true); /查找/ if(e.getSource()=item14)mydialog=new MyDialog(this,查找,true); /查找下一个 if(e.getSource()=item15) /替换 if(e.getSource()=item16) /转到 public void windowActivated(WindowEvent e) validate(); public void windowDeactivated(WindowEvent e) validate(); public void windowClosing(WindowEvent e) dispose(); public void windowClosed(WindowEvent e) 实现窗口事件的相关操作 System.exit(0); public void windowIconified(WindowEvent e) public void windowDeiconified(WindowEvent e) validate(); public void windowOpened(WindowEvent e) /class Zhuan extends Frame implements ActionLisenter /查找对话框class MyDialog extends Dialog implements ActionListenerButton button1,button2;Label label;TextField textC; 查找对话框的加载Panel panel1,panel2; MyDialog(Frame f,String s,boolean b) super(f,s,b); button1=new Button(查找下一个); button2=new Button(取消); label=new Label(查找内容); textC=new TextField(15); panel1=new Panel(); panel2=new Panel(); panel1.add(label); panel1.add(textC); panel2.add(button1); panel2.add(button2); add(panel1,BorderLayout.NORTH); add(panel2,BorderLayout.SOUTH); button1.addActionListener(this); button2.addActionListener(this); setBounds(120,120,300,150); setVisible(true); validate();public void actionPerformed(ActionEvent ee)if(ee.getSource()=button1) if(textC.getText()=null) button1.setEnabled(false); else String str=textC.getText(); / if(F.text.getSelectedText().equals(str) /若相同 / / display.replaceRange(str,display.getSelectionStart(),display.getSelectionEnd(); if(ee.getSource()=button2) this.setVisible(false); class MyDialogj extends Frame implements ActionListenerButton button1,button2;Label label;TextField textC; /加密对话框Panel panel1,panel2; MyDialogj(String s) super(s); button1=new Button(加密文本); button2=new Button(取消); label=new Label(加密法则); textC=new TextField(15); panel1=new Panel(); panel2=new Panel(); panel1.add(label); panel1.add(textC); panel2.add(button1); panel2.add(button2); add(panel1,BorderLayout.NORTH); add(panel2,BorderLayout.SOUTH); button1.addActionListener(this); button2.addActionListener(this); setBounds(120,120,300,150); setVisible(true); validate();public void actionPerformed(ActionEvent ee)if(ee.getSource()=button1) if(ee.getSource()=button2) class MyDialogjm extends Frame implements ActionListenerButton button1,button2;Label label; /解密对话框TextField textC;Panel panel1,panel2; MyDialogjm(String s) super(s); button1=new Button(解密文本); button2=new Button(取消); label=new Label(解密法则); textC=new TextField(15); panel1=new Panel(); panel2=new Panel(); panel1.add(label); panel1.add(textC); panel2.add(button1); panel2.add(button2); add(panel1,BorderLayout.NORTH); add(panel2,BorderLayout.SOUTH); button1.addActionListener(this); button2.addActionListener(this); setBounds(120,120,300,150); setVisible(true); validate();public void actionPerformed(ActionEvent ee)if(ee.getSource()=button1) if(ee.getSource()=button2) /class Win extends Frame implements ItemListener Choice list; JTextArea t; Button buttonOK,buttonQUIT;Win() 字体对话框的加载 list=new Choice(); t=new JTextArea(); t.setForeground(Color.blue); buttonOK=new Button(确定); buttonQUIT=new Button(取消); GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); String fontName=ge.getAvailableFontFamilyNames(); for(int i=0;ifontName.length;i+) list.add(fontNamei); add(list,BorderLayout.NORTH); add(t,BorderLayout.CENTER); add(buttonOK); add(buttonQUIT); t.setForeground(Color.green); list.addItemListener(this); setVisible(true); setBounds(100,120,300,300); validate(); addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent ee) setVisible(false);); public void itemStateChanged(ItemEvent e) String name=list.getSelectedItem(); Font f=new Font(name,Font.BOLD,32); t.setFont(f); 实现字体的操作 t.setText(nMicrsoft JAVA Notpad); public class JISHIBO public static void main(String args) 程序的入口 主要类 F win=new F( Java 记事本); 本程序的相关解释说明:1:所用到的包装类(1)java.awt.*;(2)java.awt.event.*;(3) javax.swing.JColorChooser;(4) java.io.*;(5) java.awt.datatransfer.*; (6) javax.swing.JOptionPane;(7) javax.swing.JTextArea;(8) java.util.Date;(9) java.text.SimpleDateFormat;2:所用到的类类名所要实现的功能F创建窗体即实现部分功能JISHIBO主要入口MyDialog查找对话框MyDialogj加密对话框MyDialogjm解密对话框Win字体选择对话框3:所用到的方法方法名所属类解释setTitle(String s)设置当前窗体名称getToolkit( )获取当前显示器的分辨率MyDialogjm(String s)MyDialogjm实现解密文本内容MyDialogj(String s)MyDialogj实现加密文本内容MyDialog(Framef,String s,boolean b)MyDialog打开查找对话框Win()Win实现字体格式的改变getSource()获取事件源F()F加载记事本窗体Menu(String s)创建菜单MenuItem(String s)创建菜单项setShortcut(newMenuShortcut(KeyEvent.VK_N)设置快捷键addActionListener()添加行为监听器add()添加项目addSeparator()添加下划线TextArea()文本区的创建setMenuBar()setVisible(Boolean boolean)显示所添加的组件addWindowListener()对窗口的事件进行监听setResizable(Boolean boolean)设置是否可被编辑
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版教育贷款合同延期及还款期限调整协议
- 2025年新能源项目设备采购合同样本范文
- 2025版餐厅装修工程设计与施工验收备案合同
- 二零二五年度假结婚婚姻解除服务协议
- 2025版小学生综合素质拓展班学员辅导协议书范本
- 二零二五年房地产项目挂靠合作开发与风险管理协议
- 二零二五年度铝合金采光带工程承包合同模板
- 2025版科幻剧本改编聘用合同模板
- 心理健康讲座课件
- 二零二五年饭店服务员工作场所网络安全与保密协议
- 做管理拼到最后是情绪价值
- 预防性人乳头瘤病毒疫苗中国临床应用指南(2025+版)解读
- 中医骨伤科学脱位课件
- 2025年山东高考考试说明(各科均有)
- 中医儿科课题申报书
- 2025-2030全球及中国身份和访问管理即服务(IDaaS)行业市场现状供需分析及投资评估规划分析研究报告
- 野生菌中毒的护理查房
- 腕管综合征的护理
- 失能老人潜在心理需求识别与满足:定制化资源配置动态优化研究
- AIGC技术在高职动漫专业角色造型设计教学中的应用研究
- TYQX 007-2024 有害生物防制机构服务能力等级评定准则
评论
0/150
提交评论