⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 notepad.java

📁 我用java做的记事本,不要太好啊!
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package notepad;import java.awt.Graphics;import java.awt.Rectangle;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.InputEvent;import java.awt.event.KeyEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.Date;import javax.swing.JCheckBoxMenuItem;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.JPopupMenu;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.KeyStroke;import javax.swing.filechooser.FileFilter;import sun.security.krb5.internal.n;import sun.util.calendar.CalendarDate;import sun.util.calendar.Gregorian;import java.awt.Color;import java.awt.Component;import java.awt.Font;import java.awt.GraphicsEnvironment;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.SystemColor;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import javax.swing.BorderFactory;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.ListSelectionModel;import javax.swing.border.Border;import javax.swing.event.ListSelectionEvent;import javax.swing.event.ListSelectionListener;public class NotePad{           public static void main(String[] args)    {        MyFrame frame = new MyFrame();        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.show();            }    }class MyFrame extends JFrame{    private JMenuBar bar;        private JMenu file;    private JMenuItem create;    private JMenuItem open;    private JMenuItem save;    private JMenuItem exit;        private JMenu edit;    private JMenuItem copy;    private JMenuItem paste;    private JMenuItem cut;    private JMenuItem statistic;    private JMenuItem selectAll;    private JMenuItem timeanddate;                           private JMenu form;    private JCheckBoxMenuItem line;    private JCheckBoxMenuItem editable;    private JMenuItem fontChoose;        private JMenu help;    private JMenuItem helponline;    private JMenuItem about;        private JTextArea text;    private FileFilter filter;        private JPopupMenu popup;    private JMenuItem copyC;    private JMenuItem pasteC;    private JMenuItem cutC;    private JMenuItem selectAllC;        private Font font;        public MyFrame()    {        setTitle("记事本");        setSize(600,400);         filter = new FileFilter()                {                    public boolean accept(File f)                    {                        return f.getName().toLowerCase().endsWith(".txt")                                ||f.isDirectory();                    }                    public  String getDescription()                    {                        return "Text File";                    }                };                bar = new JMenuBar();                              file = new JMenu("文件(F)");        file.setMnemonic('F');        create = new JMenuItem("新建");        create.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));        create.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                               text.setText("");                setTitle("记事本");            }        });        file.add(create);        open = new JMenuItem("打开");        open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));                exit = new JMenuItem("退出");        exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.ALT_MASK));        exit.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                System.exit(0);            }        });        open.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                JFileChooser ch = new JFileChooser();                ch.setCurrentDirectory(new File("C:\\"));                ch.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);                ch.setFileFilter(filter);                                int result = ch.showOpenDialog(null);                String path;                if ( result == JFileChooser.APPROVE_OPTION)                {                    path = ch.getSelectedFile().getPath();                      try                    {                        FileInputStream inputFile = new FileInputStream(path);                        byte[] data = new byte[inputFile.available()];                        inputFile.read(data);                        text.setText(new String(data));                        setTitle( path + "-" + "记事本" );                        inputFile.close();                    }                    catch(IOException ee)                    {}                }                                               }        });        save = new JMenuItem("保存");        save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));        save.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                JFileChooser ch = new JFileChooser();                ch.setCurrentDirectory(new File("C:\\"));                ch.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);                ch.setFileFilter(filter);                                int result = ch.showOpenDialog(null);                String path;                if ( result == JFileChooser.APPROVE_OPTION)                {                    path = ch.getSelectedFile().getPath();                      try                    {                        FileOutputStream outputFile = new FileOutputStream(path);                        String s = text.getText();                        byte[] data = s.getBytes();                        outputFile.write(data);                         outputFile.close();                    }                    catch(IOException ee)                    {}                                    }                                               }        });                file.add(open);        file.add(save);        file.addSeparator();        file.add(exit);                bar.add(file);                     edit = new JMenu("编辑(E)");        edit.setMnemonic('E');        cut = new JMenuItem("剪切");                cut.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                text.cut();                                                                                                   }        });        cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));        copy = new JMenuItem("复制");                copy.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                text.copy();            }        });                copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));        paste = new JMenuItem("粘贴");         paste.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                text.paste();            }        });        paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));        selectAll = new JMenuItem("全选");        selectAll.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                text.selectAll();                            }        });        selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));        statistic = new JMenuItem("字数统计");        statistic.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                try                 {                     String temp = text.getSelectedText();                     temp = temp.trim();                     JTextArea t = new JTextArea(temp);                                         JOptionPane.showMessageDialog(null,"    您选择了"+t.getLineCount()+"行"+temp.length()+"个字");                }                catch(Exception ex)                {                    JOptionPane.showMessageDialog(null,"    请选择文本,否则无法统计");                }            }        });                timeanddate = new JMenuItem("时间/日期");        timeanddate.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent e)            {                                               Date date = new Date();                                //Gregorian calendar = new Gregorian();                //CalendarDate calendarDate = calendar.getCalendarDate(date.getTime());                                                                        int minute = date.getMinutes();                int hour = date.getHours();                int year = date.getYear()+1900;                int month = date.getMonth()+1;                int day = date.getDate();                  String printDate = hour+":"+minute+" "+year+"-"+month+"-"+day;                text.append(printDate);                            }        });                      edit.add(cut);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -