《Java编写的文本编辑器》由会员分享,可在线阅读,更多相关《Java编写的文本编辑器(12页珍藏版)》请在金锄头文库上搜索。
1、界面:代码(编译后可直接运行): /简单的类似记事本的文档编辑器 import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.io.*;import java.awt.font.*;import javax.swing.undo.UndoManager;public class MyTxtpublic static void main(String args)Aframe frame = new Aframe(); frame.setDefaultCl
2、oseOperation(JFrame.EXIT_ON_CLOSE); frame.show();class Aframe extends JFramepublic Aframe()setTitle(我的记事本);setSize(WIDTH, HEIGHT);Container contentPane = getContentPane();JPanel txtPanel = new JPanel();JPanel comboxPanel = new JPanel();JPanel textPanel = new JPanel(); txtArea=new JTextArea(,17,40);J
3、ScrollPane scrollPane =new JScrollPane(txtArea); txtPanel.add(scrollPane); contentPane.add(comboxPanel,BorderLayout.NORTH); contentPane.add(txtPanel);contentPane.add(textPanel,BorderLayout.SOUTH);/Caidan lan:添加主菜单并设置快捷键JMenuBar menuBar =new JMenuBar();setJMenuBar(menuBar); fileMenu=new JMenu(文件(F);
4、editMenu=new JMenu(编辑(E);typeMenu=new JMenu(格式(0); viewMenu=new JMenu(查看(V);helpMenu=new JMenu(帮助(H); aboutMenu=new JMenu(关于(A);fileMenu.setMnemonic(F); editMenu.setMnemonic(E);typeMenu.setMnemonic(0);viewMenu.setMnemonic(V); helpMenu.setMnemonic(H);aboutMenu.setMnemonic(A); menuBar.add(fileMenu);me
5、nuBar.add(editMenu); menuBar.add(typeMenu);menuBar.add(viewMenu);menuBar.add(aboutMenu); menuBar.add(helpMenu);/wenjian “文件”菜单的子菜单添加以及设置加速器,监听器 aa=fileMenu.add(new ShowActionC 新建);aa.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK); ab=fileMenu.add(new ShowAction(打开);ab.setA
6、ccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_0,InputEvent.CTRL_MASK); ac=fileMenu.add(new ShowAction(保存);ac.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK); ad=fileMenu.add(new ShowAction(另存为);ad.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK); fi
7、leMenu.addSeparator();ae=fileMenu.add(new ShowAction(页面设置);ae.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK); af=fileMenu.add(new ShowAction(打印);af.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_,PInputEvent.CTRL_MASK); fileMenu.addSeparator();分 割线ag=fileMenu.add(new Sh
8、owAction(退出);ag.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK); /bianji “编辑”菜单的子菜单添加以及设置加速器,监听器 ah=editMenu.add(new ShowAction(撤消);editMenu.addSeparator();ah.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK); ai=editMenu.add(new ShowAction(剪切);ai.se
9、tAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK); aj=editMenu.add(new ShowAction(复制);aj.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK); an=editMenu.add(new ShowAction(粘贴);an.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK); a
10、k=editMenu.add(new ShowAction(删除);ak.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,InputEvent.CTRL_MASK); editMenu.addSeparator();al=editMenu.add(new ShowAction(查找);al.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK); am=editMenu.add(new ShowAction(全选);am.setAccelerato
11、r(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK); /geshi “格式”菜单的子菜单添加以及设置加速器,监听器zdhh=new JMenu(自动换行(L);zdhh.setMnemonic(L);typeMenu.add(zdhh);ButtonGroup group =new ButtonGroup();xz=new JRadioButtonMenultem(选择);xz. addActionListener(new ShowAction(选择);xz.setSelected(true);qxxz=new JRadio
12、ButtonMenuItem(取 消);qxxz.addActionListener(new ShowAction(取消); qxxz.setSelected(true);group.add(xz);group.add(qxxz);zdhh.add(xz);zdhh.add(qxxz);bj=typeMenu.add(new ShowAction(背景颜色); bj.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK); zt=typeMenu.add(new ShowAction(字体); zt.s
13、etAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK);/字体弹出框中的“确定”按钮que=new Button(确定);que.addActionListener(new boxlistener();/chakan “查看”菜单的子菜单添加以及设置加速器,监听器 ztl=viewMenu.add(new ShowAction(状态栏); ztl.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK);/guany
14、u “关于”菜单的子菜单添加以及设置加速器,监听器 zzxx=aboutMenu.add(new ShowAction(作者信息); zzxx.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK); bq=aboutMenu.add(new ShowAction(版权); bq.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,InputEvent.CTRL_MASK); sm=aboutMenu.add(new ShowAction(声明); s
15、m.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK); /bangzhu “帮助”菜单的子菜单添加以及设置加速器,监听器 shm=helpMenu.add(new ShowAction(说明); shm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK); /文本框底部工具栏的设置toolbar2=new JToolBar();textPanel.add(toolbar2);text1=new JTextFieldC 就绪,10);text2=new JTextField(欢迎使用该记事本! ,10);text3=new JTextField(,10);text4=new JTextField(,10); textPanel.setLayout(new GridLayout(1, 4); toolbar2.add(text