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

📄 jnotepad.java~1~

📁 JAVA编写学籍管理系统
💻 JAVA~1~
📖 第 1 页 / 共 2 页
字号:
package enigma;


import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;  //此类实现一种使用剪切/复制/粘贴操作传输数据的机制。
import java.io.*; //实现输入输出
import java.util.*;//获取当前时间
import javax.swing.*; //界面
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class JNotepad extends JFrame
{
        JTextArea JTAobj;
        JFrame JFobj;
    static JNotepad JF = new JNotepad();
    JTextArea jta = new JTextArea("", 24, 40);//声明文本
    JScrollPane jsp = new JScrollPane(jta);//声明带滚动条的面板
    JMenuBar jmb = new JMenuBar();//声明菜单
    JMenu file = new JMenu("文件");//声明菜单项
    JMenu edit = new JMenu("编辑");
    JMenuItem jmi;//声明菜单
    Clipboard clipbd = getToolkit().getSystemClipboard();
    //此类实现一种使用剪切/复制/粘贴操作传输数据的机制。
    String text = "";
    JMenu color;
    JRadioButtonMenuItem bianji;
    JMenu BJCD;
    final JPopupMenu jpm = new JPopupMenu();
    public static JNotepad newJNotepad(){
        return JF;
    }

    private JNotepad() {
        this.setTitle("编辑器");//设置标题
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认的关闭
        this.setLocation(200, 200);
        file.add(jmi = new JMenuItem("新建"));
        jmi.addActionListener(new newL());
        file.add(jmi = new JMenuItem("打开"));
        jmi.addActionListener(new openL());
        file.add(jmi = new JMenuItem("保存"));
        jmi.addActionListener(new saveL());
        file.add(jmi = new JMenuItem("关闭"));
        jmi.addActionListener(new exitL());
        edit.add(jmi = new JMenuItem("字体"));
        jmi.addActionListener(new font());
        edit.add(color = new JMenu("颜色选择"));
        color.add(jmi = new JMenuItem("字体颜色选择"));
        jmi.addActionListener(new ziticolor());
        color.add(jmi = new JMenuItem("背景颜色选择"));
        jmi.addActionListener(new beijincolor());
        edit.add(jmi = new JMenuItem("日期/时间"));
        jmi.addActionListener(new time());
        edit.add(jmi = new JMenuItem("国家"));
        jmi.addActionListener(new guojia());
        edit.add(jmi = new JMenuItem("操作列表"));
        jmi.addActionListener(new caozuo());
        edit.add(BJCD = new JMenu("可编辑"));
        ButtonGroup BJ = new ButtonGroup();
        BJCD.add(bianji = new JRadioButtonMenuItem("可编辑",true));
        bianji.addActionListener(new bianji2());
        BJ.add(bianji);
        BJCD.add(bianji = new JRadioButtonMenuItem("锁定"));
        bianji.addActionListener(new bianji());
        BJ.add(bianji);
        jmb.add(file);
        jmb.add(edit);
        jpm.add(jmi = new JMenuItem("复制"));
        jmi.addActionListener(new copyL());
        jpm.add(jmi = new JMenuItem("剪切"));
        jmi.addActionListener(new cutL());
        jpm.add(jmi = new JMenuItem("粘贴"));
        jmi.addActionListener(new pasteL());
        jpm.add(jmi = new JMenuItem("清除"));
        jmi.addActionListener(new deleteL());
        jpm.add(jmi = new JMenuItem("全选"));
        jmi.addActionListener(new selectAllL());
        jta.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
                if(e.getButton() == MouseEvent.BUTTON3)
                    jpm.show(JF, e.getX() + 10, e.getY()+60);
            }
        });
        this.add(jsp);
        this.setJMenuBar(jmb);
    }
    //保存方法
    void mm(){
        JFileChooser fc = new JFileChooser();
        int returnVal = fc.showSaveDialog(JNotepad.this);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            String savefile = fc.getSelectedFile().getPath();
            if (savefile == null) {
                return;
            } else {
                String docToSave = jta.getText();
                if (docToSave != null) {
                    File fiobj = new File(savefile);
                    File Fioobj = new File(fiobj.getAbsolutePath());
                    try {
                        FileWriter FOutObj = new FileWriter(Fioobj);
                        BufferedWriter writer = new BufferedWriter(FOutObj);
                        writer.write(jta.getText());
                        writer.flush();
                        writer.close();
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                }
            }
        } else {
            return;
        }
    }
    //打开方法
    void open(){
        JFileChooser fc = new JFileChooser();
        int returnVal = fc.showDialog(JNotepad.this, "打开");//弹出自定义打开菜单
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            String file = fc.getSelectedFile().getPath();
            if (file == null) {
                return;
            }
            try {
                File fiobj = new File(file);
                FileReader FReadObj = null;
                BufferedReader BReadObj = null;
                jta.setText("");
                try {
                    FReadObj = new FileReader(fiobj);
                    BReadObj = new BufferedReader(FReadObj);
                } catch (FileNotFoundException e1) {
                    e1.printStackTrace();
                } while (true) {
                    try {
                        String strmm = BReadObj.readLine();
                        if (strmm != null) {
                            strmm = strmm + "\r\n";
                            jta.setText(jta.getText() + strmm);
                        } else {
                            break;
                        }
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                }
                BReadObj.close();
                FReadObj.close();
            } catch (IOException io) {
                System.err.println("IOException: " + io.getMessage());
            }
        } else {
            return;
        }
    }
    //  对上面的按键进行监听以及处理
    class newL implements ActionListener {
            public void actionPerformed(ActionEvent e) {
                  String str12 = jta.getText();
                  if(str12.equals(null)||str12.equals("")){
                          jta.setText("");
                  }
                  else{
                          int a = JOptionPane.showConfirmDialog(JF, "请先保存当前文件");
                          if(a == JOptionPane.YES_OPTION ){
                                mm();
                        jta.setText("");
                         }
                         else if(a == JOptionPane.NO_OPTION){
                                jta.setText("");
                         }
                         else{

                         }
                }
            }
        }
    class openL implements ActionListener {
        public void actionPerformed(ActionEvent e) {
                 String str12 = jta.getText();
             if(str12.equals(null)||str12.equals("")){
                     jta.setText("");
                     open();
             }
             else{
                         int a = JOptionPane.showConfirmDialog(JF, "请先保存当前文件");
                         if(a == JOptionPane.YES_OPTION ){
                                 mm();
                                 JOptionPane.showMessageDialog(JF, "您现在可以打开您需要的文件了");
                                 open();
                         }
                         else if(a == JOptionPane.NO_OPTION){
                                jta.setText("");
                                open();
                         }
                         else{

                         }
             }

        }
    }
    class saveL implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            mm();
        }
    }
    class exitL implements ActionListener {
        public void actionPerformed(ActionEvent e){
                String str12 = jta.getText();
            if(str12.equals(null)||str12.equals("")){
                    jta.setText("");
                    System.exit(0);
            }
            else{
                         int a = JOptionPane.showConfirmDialog(JF, "请先保存当前文件");
                         if(a == JOptionPane.YES_OPTION ){
                                 mm();
                                 System.exit(0);
                         }
                         else if(a == JOptionPane.NO_OPTION){
                                jta.setText("");
                                System.exit(0);
                         }
                         else{

                         }
                 }
         }
    }
    class copyL implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            String selection = jta.getSelectedText();
            StringSelection clipString = new StringSelection(selection);
            clipbd.setContents(clipString, clipString);
        }
    }
    class cutL implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            String selection = jta.getSelectedText();
            StringSelection clipString = new StringSelection(selection);
            clipbd.setContents(clipString, clipString);
            jta.replaceRange("", jta.getSelectionStart(),
                             jta.getSelectionEnd());
        }
    }
    class pasteL implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            Transferable clipData = clipbd.getContents(JNotepad.this);
            try {
                String clipString =
                        (String) clipData.getTransferData(
                                DataFlavor.stringFlavor);
                jta.replaceRange(clipString,
                                 jta.getSelectionStart(),
                                 jta.getSelectionEnd());
            } catch (Exception ex) {
            }
        }
    }
    class deleteL implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            String selection = jta.getSelectedText();
            jta.replaceRange("", jta.getSelectionStart(),
                             jta.getSelectionEnd());
        }
    }
    class selectAllL implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            jta.selectAll();
        }
    }
    class beijincolor implements ActionListener {
       public void actionPerformed(ActionEvent e) {
         Color objcolor = JColorChooser.showDialog(JF, "背景色", jta.getBackground());
         if(objcolor != null){
                 jta.setBackground(objcolor);
         }
       }
   }
    class ziticolor implements ActionListener {
        public void actionPerformed(ActionEvent e) {
          Color objcolor = JColorChooser.showDialog(JF, "字体颜色", jta.getBackground());
          if(objcolor != null){
                 jta.setForeground(objcolor);
          }
        }
    }
    class font implements ActionListener {
        public void actionPerformed(ActionEvent e) {
                StyleDialog objsetfont = new StyleDialog(JF);
        }
    }

⌨️ 快捷键说明

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