swing应用-简单记事本

实现文件创建,打开,简单界面设置




恶搞一下,下面进入正题,show you the code

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.PrintStream;
import java.util.Scanner;
import java.awt.event.WindowAdapter ;

import javax.swing.JLabel ;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class MyMenu {
    private JFrame frame = null ;
    private String fileIcon = "d:"+File.separator+"icon"+File.separator+"file.png" ;
    private String newIcon = "d:"+File.separator+"icon"+File.separator+"new.png" ;
    private String openIcon = "d:"+File.separator+"icon"+File.separator+"open.png" ;
    private String helpIcon = "d:"+File.separator+"icon"+File.separator+"help.png" ;
    private String saveIcon = "d:"+File.separator+"icon"+File.separator+"save.png" ;
   
    /*
     * 设置字体图标路径
     */
    private String fontIcon  = "d:"+File.separator+"icon"+File.separator+"font.png" ;     
    private String yaIcon  = "d:"+File.separator+"icon"+File.separator+"yahei.png" ;
    private String kaiIcon = "d:"+File.separator+"icon"+File.separator+"kaiti.png" ;
    private String songIcon = "d:"+File.separator+"icon"+File.separator+"songti.png" ;
   
    /*
     * 设置背景图标路径
     */
    private String bIcon = "d:"+File.separator+"icon"+File.separator+"background.png" ;
    private String yellowIcon = "d:"+File.separator+"icon"+File.separator+"yellow.png" ;
    private String orangeIcon = "d:"+File.separator+"icon"+File.separator+"orange.png" ;
    private String greenIcon = "d:"+File.separator+"icon"+File.separator+"green.png" ;
    private String blackIcon = "d:"+File.separator+"icon"+File.separator+"black.png" ;
    private String whiteIcon = "d:"+File.separator+"icon"+File.separator+"white.png" ;
   
   
   
    private  JTextArea text = null ;
    public MyMenu() {
        this.frame = new JFrame("手撸版本记事本") ;
        this.text  = new JTextArea(20,20) ;
        Container con = this.frame.getContentPane() ;
        con.add(new JScrollPane(text)) ;
        //con.add(text) ;
        JMenu file = new JMenu("文件") ;
        file.setIcon(new ImageIcon(fileIcon)) ;
        JMenu help = new JMenu("帮助") ;
        help.setIcon(new ImageIcon(helpIcon)) ;
        JMenu font = new JMenu("字体") ;
        font.setIcon(new ImageIcon(fontIcon));
        JMenuBar  menubar = new JMenuBar() ;
        menubar.add(file) ;
        menubar.add(help) ;
        menubar.add(font) ;
       
        //设置字体按钮以及响应事件
       
        JMenuItem songti  = new JMenuItem("宋体",new ImageIcon(songIcon)) ;
        JMenuItem kaiti  = new JMenuItem("楷体",new ImageIcon(kaiIcon)) ;
        JMenuItem yahei  = new JMenuItem("雅黑",new ImageIcon(yaIcon)) ;
        font.add(songti) ;
        font.add(kaiti) ;
        font.add(yahei) ;
       
        kaiti.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Font f = new Font("楷体",Font.BOLD,15) ;
                text.setFont(f);
            }
        }) ;
       
     songti.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Font f = new Font("新宋体",Font.PLAIN,15) ;
                text.setFont(f);
            }
        }) ;
     
     yahei.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             Font f = new Font("微软雅黑",Font.BOLD,15) ;
             text.setFont(f);
         }
     });
       
     /*设置背景颜色
      * 及其响应事件
      */
     JMenu bcolor = new JMenu("背景色") ;
     bcolor.setIcon(new ImageIcon(bIcon)) ;
     JMenuItem byellow =new JMenuItem("黄色",new ImageIcon(yellowIcon)) ;
     JMenuItem borange = new JMenuItem("橙色",new ImageIcon(orangeIcon)) ;
     JMenuItem bgreen = new JMenuItem("绿色",new ImageIcon(greenIcon)) ;
     JMenuItem bblack = new JMenuItem("黑色",new ImageIcon(blackIcon)) ;
     JMenuItem bwhite = new JMenuItem("白色",new ImageIcon(whiteIcon)) ;
     menubar.add(bcolor) ;
     bcolor.add(bwhite) ;
     bcolor.add(byellow) ;
     bcolor.add(borange) ;
     bcolor.add(bgreen) ;
     bcolor.add(bblack) ;
     
     byellow.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             text.setBackground(Color.yellow);
         }
     }) ;
     
     borange.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             text.setBackground(Color.orange);
         }
     }) ;
     
     bgreen.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             text.setBackground(Color.green);
         }
     }) ;
     
     bblack.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             text.setBackground(Color.black);
             JOptionPane.showMessageDialog(null, "什么都看不见了吧","逗比",JOptionPane.ERROR_MESSAGE);
             
         }
     }) ;
     
     bwhite.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             text.setBackground(Color.white);
             JOptionPane.showMessageDialog(null, "你一定是刚才设置成黑色背景了","逗比",JOptionPane.WARNING_MESSAGE);
             
         }
     });
        /*接下来开始设置file按钮
         *
         */
        JMenuItem openItem  = new JMenuItem("打开",new ImageIcon(openIcon)) ;
        JMenuItem newItem  = new JMenuItem("新建",new ImageIcon(newIcon)) ;
        JMenuItem saveItem  = new JMenuItem("保存",new ImageIcon(saveIcon)) ;
        JMenuItem helpItem = new JMenuItem("联机帮助",new ImageIcon(helpIcon)) ;
       
        openItem.addActionListener(new ActionListener() {     //打开文件选项
            public void actionPerformed(ActionEvent e) {
                JFileChooser jfc = new JFileChooser() ;
                File file = null ;          //等待打开文件对象实例化
                jfc.setApproveButtonText("确定");
                jfc.setDialogTitle("逗比要打开文件了,呵呵");  //设置打开文件对话框标题
                int result = jfc.showOpenDialog(frame) ;    //记录打开操作
                if(result == JFileChooser.APPROVE_OPTION) {
                    file = jfc.getSelectedFile() ;   
                    //text.setText("选择的文件为"+file.getName()+"
") ;
                    text.append("内容:  ") ;
                } else if(result ==JFileChooser.CANCEL_OPTION) {
                    text.setText("没有选择任何文件") ;   
                } else {
                    text.setText("没有选择任何文件") ;
                }
               
                if(file != null) {
                    try {
                    Scanner sc  = new Scanner(file) ;
                    sc.useDelimiter("
") ;
                    while(sc.hasNext()) {
                        text.append(sc.next());
                        text.append("
");
                    }
                     sc.close() ;
                } catch(Exception el){
                   
                }
                }
            }
        }
        );
         
         saveItem.addActionListener(new ActionListener() {     //响应保存按钮
            public void actionPerformed(ActionEvent e) {
                File file  = null ;
                JFileChooser jfc = new JFileChooser() ;
                int result = jfc.showSaveDialog(frame) ;
                if(result == JFileChooser.APPROVE_OPTION) {
                    file = jfc.getSelectedFile() ;
                } else if(result == JFileChooser.CANCEL_OPTION) {
                    JOptionPane.showMessageDialog(null,"没有选择存储文件","逗比!",JOptionPane.ERROR_MESSAGE) ;   
                } else {
                    JOptionPane.showMessageDialog(null,"逗比,操作错误!","猴子的救兵!",JOptionPane.WARNING_MESSAGE) ;
                }
                if(file != null) {
                    try {
                    PrintStream out = new PrintStream(file) ;
                    out.println(text.getText()) ;
                    JOptionPane.showMessageDialog(null,"文件保存成功","反馈",JOptionPane.WARNING_MESSAGE);
                    out.close() ;
                    }catch(Exception ell) {
                       
                    }
                }
            }
        });
       
       
        helpItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Font font  = new Font("楷体",Font.BOLD,20) ;
                JLabel labelqq = new JLabel("加帅哥qq:653866417") ;
                labelqq.setFont(font) ;
                JOptionPane.showMessageDialog(null, labelqq,"哎呦我去!",JOptionPane.WARNING_MESSAGE);
            }
        }) ;
        /**讲所有下拉菜单加入file
         *
         */
        file.add(openItem) ;
        file.add(newItem) ;
        file.add(saveItem) ;
        help.add (helpItem) ;
        frame.setJMenuBar(menubar);
        frame.setSize(500,400);
        frame.setLocation(200,200);
        frame.setVisible(true);
       
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(ActionEvent e) {
                System.exit(1) ;
            }
        });
       
    }
   
}

class Tester {
    public static void main(String args[]) {
        new MyMenu() ;
    }
}


原文地址:https://www.cnblogs.com/emoji/p/4436801.html