记事本-功能待添加

IO流、图形化用户界面、事件监听

import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class Jsb extends JFrame implements ActionListener
{
    JMenuBar cd;
    JMenu cd1,cd2;
    JMenuItem cdx1,cdx2;
    JTextArea wby;
    JScrollPane gd;
    
    public static void main(String[] args)
    {
        Jsb js=new Jsb();
    }
    Jsb()
    {
        cd=new JMenuBar();
        cd1=new JMenu("文件(F)");
        cd1.setMnemonic('F');
        cd2=new JMenu("编辑(E)");
        cd2.setMnemonic('E');
        
        cdx1=new JMenuItem("打开",new ImageIcon("photo/dk.jpg"));
        cdx1.addActionListener(this);
        cdx1.setActionCommand("open");
        
        cdx2=new JMenuItem("保存",new ImageIcon("photo/bc.jpg"));
        cdx2.addActionListener(this);
        cdx2.setActionCommand("save");
        
        wby=new JTextArea();
        
        gd=new JScrollPane(wby);
        
        cd1.add(cdx1);  cd1.add(cdx2);
        cd.add(cd1);    cd.add(cd2);
        
        this.setJMenuBar(cd);   this.add(gd);
        
        ImageIcon tp1=new ImageIcon("photo/jsb.jpg");
        this.setIconImage(tp1.getImage());
        this.setTitle("记事本");
        this.setSize(400,300);
        this.setLocation(300,280);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);      
    }
    public void actionPerformed(ActionEvent e)
    {
        if(e.getActionCommand().equals("open"))  //
        {
            JFileChooser wjxz=new JFileChooser();//文件选择框
            wjxz.setDialogTitle("文件打开"); //对话框标题
            wjxz.showOpenDialog(null);//显示打开对话框的模式,null默认
            wjxz.setVisible(true);
            
            String wjlj=wjxz.getSelectedFile().getAbsolutePath();//选择文件的全路径
            FileReader wjl=null;    BufferedReader hcl=null;
            try
            {
                wjl=new FileReader(wjlj);
                hcl=new BufferedReader(wjl);
                String s="",zfc="";
                while((s=hcl.readLine())!=null)
                {
                    zfc+=(s+"\n");
                }
                wby.setText(zfc);
            }
            catch(Exception a){}
            finally
            {
                try
                {
                    wjl.close();
                    hcl.close();
                }
                catch(Exception a1){}
            }
        }
        else if(e.getActionCommand().equals("save"))
        {
            JFileChooser wjxz1=new JFileChooser();
            wjxz1.setDialogTitle("另存为");
            wjxz1.showSaveDialog(null);
            wjxz1.setVisible(true);
            
            String wjlj1=wjxz1.getSelectedFile().getAbsolutePath();
            try
            {
                PrintStream pl=new PrintStream(wjlj1);
                System.setOut(pl);
                System.out.println(this.wby.getText());             
            }
            catch(Exception a2){}
            finally
            {
                try
                {
                }
                catch(Exception a2){}
            }
        }
    }
}

本人初学者,旨在记录学习java的过程,欢迎大家指正,如果有针对上述部分代码更优秀的代码请写在评论区,我一定会回复感谢并更正。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,057评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,352评论 4 61
  • 要中规中矩的生活,也要天马行空的幻想。 所谓中规中矩,就是很普通的生活。虽然人生很顺畅,没有什么大风大浪,日子趋于...
    雪儿叶子阅读 1,149评论 4 2
  • 阅读 通过心灵观察世界的窗口 心中没有书 犹如房间没有窗 知识 跨越时间抵达成功的彼岸 心中没有方向 犹如航船没有...
    瑾洛阅读 378评论 0 1
  • 基本要求 不要div,只用table布局,div会被当做垃圾邮件 不要用背景图,用img,某些邮箱不支持背景图 不...
    不是伯格是波哥阅读 1,360评论 0 0

友情链接更多精彩内容