用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

简单记事本

2017-05-16 作者: 王伟利举报

[java]代码库

package smallgame;
import java.awt.*;
import javax.swing.*;
import java.io.*;//输入输出类
import java.awt.event.*;
public class EditBook {
    public static void main(String[] args){
        JFrame jframe =new JFrame("文本编辑/记事本");
        jframe.setSize(500, 400);
        JMenuBar jmenubar=new JMenuBar();//建立一个新的菜单栏
        jframe.setJMenuBar(jmenubar);//把新建的菜单栏jmenubar添加到框架jframe
        JMenu jmenu=new JMenu("文件选项");//建立一个新的名称为“文件选项”的JMenu组件
        final JMenuItem jitemFOpen=new JMenuItem("打开文件");
        final JMenuItem jitemFSave=new JMenuItem("保存文件");
        final JMenuItem jitemFExit=new JMenuItem("退出程序");//菜单栏的3个具体操作
        jmenu.add(jitemFOpen);
        jmenu.add(jitemFSave);
        jmenu.add(jitemFExit);//把新建的菜单组添加到菜单栏中
        jmenubar.add(jmenu);//把菜单栏添加到jmenu中
        final JTextArea textarea=new JTextArea(50,50);//生成一个带有50行50列的多行文本框
        JScrollPane jSPane=new JScrollPane(textarea);//建立一个新的滚动面板,面板中包含textarea,当文本框的可见范围大于滚动面板时,出现滚动轴
        jframe.add(jSPane,BorderLayout.CENTER);//把滚动面板添加到框架窗口中,并放在中间
        final FileDialog filedialog_save=new FileDialog(jframe,"保存文件对话框",FileDialog.SAVE);
        final FileDialog filedialog_open=new FileDialog(jframe,"打开文件对话框",FileDialog.LOAD);
        filedialog_save.addWindowListener(new WindowAdapter(){
            public void windowClosing(){
                filedialog_open.setVisible(false);
            }
        });
        ActionListener a=new ActionListener(){//事件监听器
            public void actionPerformed(ActionEvent e){
                if(e.getSource()==jitemFOpen){
                    filedialog_open.setVisible(true);
                    textarea.setText(null);
                    String str;
                    if(filedialog_open.getFile()!=null){
                        try{
                            File file=new File(filedialog_open.getDirectory(),filedialog_open.getFile());
                            FileReader file_reader=new FileReader(file);
                            BufferedReader bin=new BufferedReader(file_reader);//输入字符流
                            while((str=bin.readLine())!=null)
                                textarea.append(str+'\n');
                            bin.close();
                            file_reader.close();
                    }
                        catch(IOException e2){}//输入输出异常
                }
            }
                if(e.getSource()==jitemFSave){
                    filedialog_save.setVisible(true);
                    if(filedialog_save.getFile()!=null){
                        try{
                            File file=new File(filedialog_save.getDirectory(),filedialog_save.getFile());
                            FileWriter tofile=new FileWriter(file);
                            BufferedWriter bout=new BufferedWriter(tofile);//输出字符流
                            bout.write(textarea.getText(),0,(textarea.getText()).length());//写入字符
                            bout.flush();//刷新字符流的缓冲
                            bout.close();//关闭字符流
                            tofile.close();
                        }
                        catch(IOException e2){}
                    }
                }
                if(e.getSource()==jitemFExit){
                    System.exit(0);//退出程序
                }
        }      
    };
    jitemFOpen.addActionListener(a);
    jitemFSave.addActionListener(a);
    jitemFExit.addActionListener(a);
    jframe.setVisible(true);
    }
}

[源代码打包下载]




网友评论    (发表评论)

共5 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...