直接上图
通过学习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、 }