JAVA编写实现记事本保存、另存为、查找、替换等功能

时间:2024-03-13 10:35:27

直接上图
JAVA编写实现记事本保存、另存为、查找、替换等功能
JAVA编写实现记事本保存、另存为、查找、替换等功能
JAVA编写实现记事本保存、另存为、查找、替换等功能
JAVA编写实现记事本保存、另存为、查找、替换等功能
JAVA编写实现记事本保存、另存为、查找、替换等功能
通过学习JAVA基础知识就可以慢慢练习着做这类有趣的事情
自己可以选择写一些小游戏

通过Swing框架,实现图形界面,在图形界面中添加文本框架实现文本编辑,通过鼠标菜单栏添加事件监听实现保存、另存为、查找、替换等功能

部分源码展示

public  static void main(String[] arg) {
 Inter inter=new Inter();
 }
 	class Inter implements ActionListener{        //记事本界面设计   菜单栏的实现
		JMenu menu1,menu2,menu3,menu4,menu5;
	JMenuItem item1,item2,item5,item6;
		JMenuItem item_1,item_2,item_5;
		JMenuItem itema,itemb;
		JMenuItem item_a;
		JMenuItem itema_a,itema_b;
		JFrame frame;
		Inter(){
		frame.add(new Face());
			frame.setSize(1400, 850);
			frame.setTitle("记事本");
			frame.setLocation(400, 200);
			frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			JMenuBar menubar=new JMenuBar();  //创建菜单栏 
			frame.setJMenuBar(menubar);        //将菜单栏添加到JFrame
			menu2=new JMenu("编辑");
			menu2.setFont(new Font("黑体",Font.PLAIN,15));
			menu3=new JMenu("格式");
			menu3.setFont(new Font("黑体",Font.PLAIN,15));
			menu4=new JMenu("查看");
			menu4.setFont(new Font("黑体",Font.PLAIN,15));
			menu5=new JMenu("帮助");
			menu5.setFont(new Font("黑体",Font.PLAIN,15));
			menubar.add(menu1);				//添加主菜单项在菜单栏中添加按钮选项
			menubar.add(menu2);
			menubar.add(menu3);
			menubar.add(menu4);
			menubar.add(menu5);
			item1=new JMenuItem("新建");
			item2=new JMenuItem("打开");			
			item5=new JMenuItem("页面设置");
			item6=new JMenuItem("退出");
			menu1.add(item1);			//添加菜单项
			menu1.addSeparator();		//分隔符
			menu1.add(item2);
			menu1.add(item5);
			menu1.addSeparator();
			menu1.add(item6);
			
			item_1=new JMenuItem("撤销");
			item_2=new JMenuItem("粘贴");
	
			item_5=new JMenuItem("日期");
			menu2.add(item_1);
			menu2.add(item_2);
			menu2.addSeparator();
			menu2.add(item_5);
			
			itema =new JMenuItem("自动换行");
			itemb =new JMenuItem("自动换行");
			menu3.add(itema);
			menu3.add(itemb);
			
			item_a =new JMenuItem("状态栏");
			
			itema_a =new JMenuItem("查看帮助");
			itema_b =new JMenuItem("关于记事本");
			menu5.add(itema_a);
			menu5.add(itema_b);
			frame.setVisible(true);
		}

保存功能

public class Win {
3、			File file;
4、	    FileDialog savedia;
5、	    Win(){
6、	        savedia=new FileDialog(frame,"保存",FileDialog.SAVE);
7、	        frame.setVisible(true);
8、	        myevent();
9、	    }
10、	    public void myevent(){
11、	    	if(file==null){
12、	            savedia.setVisible(true);
13、	            String dirPath=savedia.getDirectory();
14、	            String fileName=savedia.getFile();
15、	            if(dirPath==null||fileName==null)
16、	                return ;
17、	            file=new File(dirPath,fileName);
18、	            try{
19、	                BufferedWriter bfwt=new BufferedWriter(new FileWriter(file));
20、	                String t= text.getText();
21、	                bfwt.write(t);
22、	                bfwt.close();
23、	                text.setText("");
24、	            }
25、	            catch (IOException ex){
26、	                throw new RuntimeException();
27、	            }
28、	    }
29、	}

替换功能

1、	public class Tihuan implements ActionListener{
2、		JLabel label1;
3、		JTextField fiel,fiel2;
4、		JButton but1;
5、		int next;
6、		Tihuan(){
7、		JFrame frame=new JFrame();
8、		frame.setSize(350,160);
9、		frame.setLocation(1000, 400);
10、		frame.setResizable(false);
11、		frame.setTitle("查找");
12、		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
13、		JPanel jpanel=new JPanel();
14、		label1=new JLabel("查找内容(N)");
15、		fiel=new JTextField(10);
16、		but1=new JButton("查找 下一 个(F)");//对按钮添加事件
17、		but1.addActionListener(this);
18、		JLabel label2=new JLabel("替   换  为(P)");
19、		fiel2=new JTextField(10);
20、		JButton but2=new JButton("替     换    (   R   )");
21、		but2.addActionListener(this);
22、		JButton but3=new JButton("取消");
23、		JCheckBox box=new JCheckBox("区分大小写(C)");
24、		jpanel.add(label1);
25、		jpanel.add(fiel); 
26、		jpanel.add(but1);
27、		jpanel.add(label2);
28、		jpanel.add(fiel2);
29、		jpanel.add(but2);
30、		jpanel.add(box);
31、		jpanel.add(but3);
32、		frame.add(jpanel);
33、		frame.setVisible(true);
34、		}
35、	public void actionPerformed(ActionEvent e) {
36、			if(e.getActionCommand()=="查找 下一 个(F)") {
37、				String s=text.getText();
38、				String m=fiel.getText();
39、				int x=s.indexOf(m,text.getSelectionEnd());
40、				int n=x+m.length();
41、				text.select(x,n);
42、				next=n;
43、				text.select(next,s.length());
44、				String ss=text.getSelectedText();
45、				int newstartp=ss.indexOf(fiel.getText())+next;
46、				int newendp=newstartp+fiel.getText().length();
47、				text.select(newstartp, newendp);
48、				
49、			}
50、			if(e.getActionCommand()=="替     换    (   R   )") {
51、				int nexttemp=next;					//获取上次查找的终点做为未查找字符串的起点
52、				String strall=text.getText();
53、				text.select(nexttemp, strall.length());	//选中所有未查找的字符串
54、				String strnext=text.getSelectedText();
55、				int newstartp=strnext.indexOf(fiel.getText())+nexttemp;
56、				int newendp=newstartp+fiel.getText().length();
57、				text.select(newstartp, newendp); //选中字符串
58、	text.replaceRange(fiel2.getText(), newstartp, newendp); //选中字符替换	
59、	
60、				}
61、			} 
62、		}