中易网

帮忙注释下程序代码的意思

答案:1  悬赏:60  
解决时间 2021-05-24 11:00

大体的注释下下面的代吗 每句话或是每段话是用来干嘛的

 

import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.ActionEvent;
import java.awt.*;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public class MyNotepad extends JFrame implements ActionListener {
    File file = null;
    Color color = Color.black;
    JTextPane text = new JTextPane();
    JDialog about = new JDialog(this);
    JFileChooser filechooser = new JFileChooser();
    GraphicsEnvironment getFont = GraphicsEnvironment.getLocalGraphicsEnvironment();
    Font [] fonts = getFont.getAllFonts();
    JColorChooser colorchooser = new JColorChooser();
    private JMenuItem jminew, jmiopen, jmisave, jmisaveas;
    private JMenuItem jmicut, jmicopy, jmiplaster, jmiall;
    private JMenuItem jmifont, jmicolor;
    private JMenuItem jminotepad, jmicalculator;
    private JMenuItem jmiabout;
    private JMenuItem jmiexit;

    public static void main(String[] args) {
        Notepad frame = new Notepad();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }

    public MyNotepad() {
        setTitle("Notepad");
        setLocation(100, 50);
        JMenuBar jmb = new JMenuBar();
        setJMenuBar(jmb);
        JMenu filemenu = new JMenu("File");
        filemenu.setMnemonic('F');
        jmb.add(filemenu);
        JMenu editmenu = new JMenu("Edit");
        editmenu.setMnemonic('E');
        jmb.add(editmenu);
        JMenu formatmenu = new JMenu("Format");
        formatmenu.setMnemonic('T');
        jmb.add(formatmenu);
        JMenu toolmenu = new JMenu("Tool");
        toolmenu.setMnemonic('L');
        jmb.add(toolmenu);
        JMenu helpmenu = new JMenu("Help");
        helpmenu.setMnemonic('H');
        jmb.add(helpmenu);
        JMenu exitmenu = new JMenu("Exit");
        exitmenu.setMnemonic('X');
        jmb.add(exitmenu);
        filemenu.add(jminew = new JMenuItem("New", 'N'));
        filemenu.add(jmiopen = new JMenuItem("Open", 'O'));
        filemenu.add(jmisave = new JMenuItem("Save", 'S'));
        filemenu.addSeparator();
        filemenu.add(jmisaveas = new JMenuItem("Save as"));
        jminew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK));
        jmiopen.setAccelerator(
                KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
        jmisave.setAccelerator(
                KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));
        editmenu.add(jmicut = new JMenuItem("Cut", 'X'));
        editmenu.add(jmicopy = new JMenuItem("Copy", 'C'));
        editmenu.add(jmiplaster = new JMenuItem("Plaster", 'V'));
        editmenu.addSeparator();
        editmenu.add(jmiall = new JMenuItem("All"));
        jmicut.setAccelerator(
                KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));
        jmicopy.setAccelerator(
                KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));
        jmiplaster.setAccelerator(
                KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
        jmiall.setAccelerator(
                KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK));
        formatmenu.add(jmifont = new JMenuItem("Font"));
        formatmenu.addSeparator();
        formatmenu.add(jmicolor = new JMenuItem("Color"));
        toolmenu.add(jminotepad = new JMenuItem("MS Notepad"));
        toolmenu.addSeparator();
        toolmenu.add(jmicalculator = new JMenuItem("MS Calculator"));
        helpmenu.add(jmiabout = new JMenuItem("About"));
        exitmenu.add(jmiexit = new JMenuItem("Exit"));
        setFont(new Font("Times New Roman", Font.PLAIN, 12));
        JScrollPane scrollpane = new JScrollPane(text);
        scrollpane.setPreferredSize(new Dimension(600, 500));
        getContentPane().add(scrollpane);
        jminew.addActionListener(this);
        jmiopen.addActionListener(this);
        jmisave.addActionListener(this);
        jmisaveas.addActionListener(this);

        jmicut.addActionListener(this);
        jmicopy.addActionListener(this);
        jmiplaster.addActionListener(this);
        jmiall.addActionListener(this);

        jmifont.addActionListener(this);
        jmicolor.addActionListener(this);

        jminotepad.addActionListener(this);
        jmicalculator.addActionListener(this);

        jmiabout.addActionListener(this);
        jmiexit.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e) {
        String name = e.getActionCommand();
        if (e.getSource() instanceof JMenuItem) {
            if ("New".equals(name)) {
                text.setText("");
                file = null;
            }
            if ("Open".equals(name)) {
               //需要你来填写
            }
            if ("Save".equals(name)) {
               //需要你来填写
            }
            if ("Cut".equals(name)) {
                text.cut();
            }
            if ("Copy".equals(name)) {
                text.copy();
            }
            if ("Plaster".equals(name)) {
                text.paste();
            }
            if ("All".equals(name)) {
                text.selectAll();
            }
            if ("Font".equals(name)) {

            }
            if ("Color".equals(name)) {
                color = JColorChooser.showDialog(MyNotepad.this, "", color);
                text.setForeground(color);
            }
            if ("MS Notepad".equals(name)) {
                try {
                    String command = "notepad.exe";
                    Process child = Runtime.getRuntime().exec(command);
                }
                catch (IOException ex) {

                }
            }
            if ("MS Calculator".equals(name)) {
                try {
                    String command = "calc.exe";
                    Process child = Runtime.getRuntime().exec(command);
                }
                catch (IOException ex) {

                }
            }
            if ("Exit".equals(name)) {
                System.exit(0);
            }
            if ("About".equals(name)) {
                about.setLayout(new GridLayout(6, 1));
                about.setTitle("Notepad About...");
                about.setSize(320, 280);
                about.getContentPane().setBackground(Color.yellow);
                JLabel jlbfirst = new JLabel();
                about.getContentPane().add(jlbfirst);
                about.getContentPane().add(new JLabel("Notepad"));
                about.getContentPane().add(new JLabel("Edition 1.0 (author:Tian Mingjun)"));
                about.getContentPane().add(new JLabel("copyright possession (C) 2010.4.3."));
                about.setModal(true);
                about.show();
            }
        }
    }
}

 

最佳答案

import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.ActionEvent;
import java.awt.*;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


//上面那些不用说吧,是引包进来



public class MyNotepad extends JFrame implements ActionListener {


//定义一个文件
    File file = null;


//定义一个颜色
    Color color = Color.black;


//发现这样写还是不行,像下面这种实例化的就去看看api吧,学会看api是程序员必须的。还有啊,像这种把显示层的和业物逻辑层放一起的写法不好。
    JTextPane text = new JTextPane();


//对话框
    JDialog about = new JDialog(this);


//文件选择
    JFileChooser filechooser = new JFileChooser();


//环境
    GraphicsEnvironment getFont = GraphicsEnvironment.getLocalGraphicsEnvironment();


//字体
    Font [] fonts = getFont.getAllFonts();


//颜色
    JColorChooser colorchooser = new JColorChooser();


//定义
    private JMenuItem jminew, jmiopen, jmisave, jmisaveas;
    private JMenuItem jmicut, jmicopy, jmiplaster, jmiall;
    private JMenuItem jmifont, jmicolor;
    private JMenuItem jminotepad, jmicalculator;
    private JMenuItem jmiabout;
    private JMenuItem jmiexit;


    public static void main(String[] args) {


//实例化
    Notepad frame = new Notepad();


//设成点击关闭按钮时退出程序
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();


//显示
    frame.setVisible(true);
    }


    public MyNotepad() {


//设置标题
    setTitle("Notepad");


//设置位置
    setLocation(100, 50);


//菜单
    JMenuBar jmb = new JMenuBar();


//下面的这些是将菜单项加入菜单,方法是死的,记住步骤就行,还有包含顺序
    setJMenuBar(jmb);
    JMenu filemenu = new JMenu("File");


//这些方法也可以去看看api里的,学会看api你会发现好多东西不是那么难,只要有api在
    filemenu.setMnemonic('F');



    jmb.add(filemenu);


//Edit菜单项
    JMenu editmenu = new JMenu("Edit");


//快捷键,下面的都是一样的
    editmenu.setMnemonic('E');
    jmb.add(editmenu);
    JMenu formatmenu = new JMenu("Format");
    formatmenu.setMnemonic('T');
    jmb.add(formatmenu);
    JMenu toolmenu = new JMenu("Tool");
    toolmenu.setMnemonic('L');
    jmb.add(toolmenu);
    JMenu helpmenu = new JMenu("Help");
    helpmenu.setMnemonic('H');
    jmb.add(helpmenu);
    JMenu exitmenu = new JMenu("Exit");
    exitmenu.setMnemonic('X');
    jmb.add(exitmenu);
    filemenu.add(jminew = new JMenuItem("New", 'N'));
    filemenu.add(jmiopen = new JMenuItem("Open", 'O'));
    filemenu.add(jmisave = new JMenuItem("Save", 'S'));
    filemenu.addSeparator();
    filemenu.add(jmisaveas = new JMenuItem("Save as"));


//下面这几个不是很懂,去查api,不过从字面来看是对应的键盘按键的吧
    jminew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK));
    jmiopen.setAccelerator(
    KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
    jmisave.setAccelerator(
    KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));


//又和上面一样
    editmenu.add(jmicut = new JMenuItem("Cut", 'X'));
    editmenu.add(jmicopy = new JMenuItem("Copy", 'C'));
    editmenu.add(jmiplaster = new JMenuItem("Plaster", 'V'));
    editmenu.addSeparator();
    editmenu.add(jmiall = new JMenuItem("All"));


//看吧,全是重复的工作,其实可以用循环写的
    jmicut.setAccelerator(
    KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));
    jmicopy.setAccelerator(
    KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));
    jmiplaster.setAccelerator(
    KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
    jmiall.setAccelerator(
    KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK));


//又是给菜单加菜单项
    formatmenu.add(jmifont = new JMenuItem("Font"));
    formatmenu.addSeparator();
    formatmenu.add(jmicolor = new JMenuItem("Color"));
    toolmenu.add(jminotepad = new JMenuItem("MS Notepad"));
    toolmenu.addSeparator();
    toolmenu.add(jmicalculator = new JMenuItem("MS Calculator"));
    helpmenu.add(jmiabout = new JMenuItem("About"));
    exitmenu.add(jmiexit = new JMenuItem("Exit"));


//设置字体
    setFont(new Font("Times New Roman", Font.PLAIN, 12));


//像这种设置在api里很容易就找到了,比如这个只要找到swing包里的JScrollPane再看它的构造方法和方法就可以了
    JScrollPane scrollpane = new JScrollPane(text);
    scrollpane.setPreferredSize(new Dimension(600, 500));


//得到内容面板并将上面的JScrollPane 加进去
    getContentPane().add(scrollpane);


//下面这些都是给菜单项加监听器,这里都是加的自己,如果是定义的这个类外面的就把this改成new XXX
    jminew.addActionListener(this);
    jmiopen.addActionListener(this);
    jmisave.addActionListener(this);
    jmisaveas.addActionListener(this);


    jmicut.addActionListener(this);
    jmicopy.addActionListener(this);
    jmiplaster.addActionListener(this);
    jmiall.addActionListener(this);


    jmifont.addActionListener(this);
    jmicolor.addActionListener(this);


    jminotepad.addActionListener(this);
    jmicalculator.addActionListener(this);


    jmiabout.addActionListener(this);
    jmiexit.addActionListener(this);
    }



我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
精神分裂是怎样?
谁会玩三国杀,教教我,陪我一起玩?
黎明和钟镇涛演过的电影有哪些??
每次登陆淘宝账号时都会出现这个是为什么。
谁给我推荐几部好电影?
去新加坡飞机场上班怎么样?
灵寿县菜鸟驿站(灵寿县南环路春秀百货商店)我
征途204级升205级需要多少经验啊》
网络中断问题
为什么说男人花心?而不说女人花心呢?
潜江市龙四小龙虾批发中心哪位知道具体地址啊
数学几道麻烦的题
梦幻西游哪个部位的装备比较贵呢?
问问的积分和经验怎么算
劳累一上午的人,中午吃什么较好?请速回答
推荐资讯
梦幻西游认定法宠之后合宝宝上去是不是不会掉
怎么制作冰峰王做防守地图
极品飞车9里的视频用什么转换器可以转换为其
成都体工队在那里
黄道婆呢没任务了
DNF用G会被封号么?
cf里的FPS与宽带有牵连吗?
喜欢许嵩的人进
显卡换了,电脑是不是会快点???
伍家岗区惠达卫浴我想知道这个在什么地方
刺猬吃什么呢》?、
什么人从来不用疏子
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?