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

📄 notepad.java

📁 一个模拟windows的记事本,其功能和windows的差不多!
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 313, Short.MAX_VALUE)
        );
        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void helpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_helpActionPerformed
// TODO 将在此处添加您的处理代码:
    }//GEN-LAST:event_helpActionPerformed

    private void file_printActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_file_printActionPerformed
// TODO 将在此处添加您的处理代码:
        PrintJob pjob=tk.getPrintJob(NotePad.this,"打印",null,null);
        try{
            Graphics p = pjob.getGraphics();
            jTextArea1.printAll(p);
            p.dispose();
            pjob.end();
            }
        catch(NullPointerException exception){
            exception.printStackTrace();
        }
    }//GEN-LAST:event_file_printActionPerformed

    private void jTextArea1CaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_jTextArea1CaretUpdate
// TODO 将在此处添加您的处理代码:
        motified = true;
    }//GEN-LAST:event_jTextArea1CaretUpdate

    private void file_pagesetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_file_pagesetActionPerformed
// TODO 将在此处添加您的处理代码:
        prtMe.printDialog(); 
    }//GEN-LAST:event_file_pagesetActionPerformed

    private void edit_findActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_edit_findActionPerformed
// TODO 将在此处添加您的处理代码:
        String find = ""; 
        find = JOptionPane.showInputDialog( "查找的内容:"); 
    }//GEN-LAST:event_edit_findActionPerformed

    private void form_charActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_form_charActionPerformed
// TODO 将在此处添加您的处理代码:
        String s=JOptionPane.showInputDialog("请输入字号大小",null);
            int n=Integer.parseInt(s);
            Font font=new Font(jTextArea1.getFont().getName(),jTextArea1.getFont().getStyle(),n);
            jTextArea1.setFont(font);
    }//GEN-LAST:event_form_charActionPerformed

    private void form_backcolorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_form_backcolorActionPerformed
// TODO 将在此处添加您的处理代码:
        Color color =
                 JColorChooser.showDialog(this, "背景色",jTextArea1.getBackground());
        if (color != null) {
            jTextArea1.setBackground(color);
        }
        this.repaint();
    }//GEN-LAST:event_form_backcolorActionPerformed

    private void form_frontcolorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_form_frontcolorActionPerformed
// TODO 将在此处添加您的处理代码:
         Color color =
                  JColorChooser.showDialog(this, "前景色",jTextArea1.getForeground());
          if (color != null) {
             jTextArea1.setForeground(color);
          }
         this.repaint();
    }//GEN-LAST:event_form_frontcolorActionPerformed

    private void file_exitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_file_exitActionPerformed
// TODO 将在此处添加您的处理代码:
        if (giveUp()){
             System.exit(0);
        }
    }//GEN-LAST:event_file_exitActionPerformed

    private void file_saveAsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_file_saveAsActionPerformed
// TODO 将在此处添加您的处理代码:
        saveAsFile();
    }//GEN-LAST:event_file_saveAsActionPerformed

    private void file_saveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_file_saveActionPerformed
// TODO 将在此处添加您的处理代码:
        saveFile();
    }//GEN-LAST:event_file_saveActionPerformed

    private void tanchu_allActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tanchu_allActionPerformed
// TODO 将在此处添加您的处理代码:
        jTextArea1.selectAll();
    }//GEN-LAST:event_tanchu_allActionPerformed

    private void edit_allActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_edit_allActionPerformed
// TODO 将在此处添加您的处理代码:
        jTextArea1.selectAll();
    }//GEN-LAST:event_edit_allActionPerformed

    private void file_openActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_file_openActionPerformed
// TODO 将在此处添加您的处理代码:
        if (!giveUp()) {
          return;
        }
        if (JFileChooser.APPROVE_OPTION ==
                jFileChooser1.showOpenDialog(this)) {
           openFile 
                   (jFileChooser1.getSelectedFile().getPath());
        }
        this.repaint();
    }//GEN-LAST:event_file_openActionPerformed

    private void form_huanhangActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_form_huanhangActionPerformed
// TODO 将在此处添加您的处理代码:
        //form_huanhang.setSelected(true);
         boolean a = form_huanhang.isSelected()? true : false;
         if (a = true){
             jTextArea1.setLineWrap(true);
         } else {
             jTextArea1.setLineWrap(false);
         }
    }//GEN-LAST:event_form_huanhangActionPerformed

    private void edit_deleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_edit_deleteActionPerformed
// TODO 将在此处添加您的处理代码:
        deleteAll();
    }//GEN-LAST:event_edit_deleteActionPerformed

    private void tanchu_deleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tanchu_deleteActionPerformed
// TODO 将在此处添加您的处理代码:
        deleteAll();
    }//GEN-LAST:event_tanchu_deleteActionPerformed

    private void tanchu_cutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tanchu_cutActionPerformed
// TODO 将在此处添加您的处理代码:
        jTextArea1.cut();
    }//GEN-LAST:event_tanchu_cutActionPerformed

    private void tanchu_pasteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tanchu_pasteActionPerformed
// TODO 将在此处添加您的处理代码:
        jTextArea1.paste();
    }//GEN-LAST:event_tanchu_pasteActionPerformed

    private void tanchu_copyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tanchu_copyActionPerformed
// TODO 将在此处添加您的处理代码:
        jTextArea1.copy();
    }//GEN-LAST:event_tanchu_copyActionPerformed

    private void help_aboutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_help_aboutActionPerformed
// TODO 将在此处添加您的处理代码:
        JOptionPane.showConfirmDialog(this,"记事本----蔡永贵设计\n 2007-12-17!","关于",
                JOptionPane.DEFAULT_OPTION,
                JOptionPane.INFORMATION_MESSAGE);
    }//GEN-LAST:event_help_aboutActionPerformed

    private void jTextArea1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextArea1MouseClicked
// TODO 将在此处添加您的处理代码:
        if(evt.getModifiers()==Event.META_MASK){
            jPopupMenu1.show(jTextArea1,evt.getX(),evt.getY());
        }
    }//GEN-LAST:event_jTextArea1MouseClicked

    private void edit_cutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_edit_cutActionPerformed
// TODO 将在此处添加您的处理代码:
        jTextArea1.cut();
    }//GEN-LAST:event_edit_cutActionPerformed

    private void edit_pasteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_edit_pasteActionPerformed
// TODO 将在此处添加您的处理代码:
        jTextArea1.paste();
    }//GEN-LAST:event_edit_pasteActionPerformed

    private void edit_copyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_edit_copyActionPerformed
// TODO 将在此处添加您的处理代码:
        jTextArea1.copy();
    }//GEN-LAST:event_edit_copyActionPerformed

    private void file_newActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_file_newActionPerformed
// TODO 将在此处添加您的处理代码:
        if (giveUp()) {
            jTextArea1.setText("");
            currentFileName = null;
            this.setTitle("个人记事本 - [未保存]");
            motified = false;
        }
    }//GEN-LAST:event_file_newActionPerformed
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NotePad().setVisible(true);
            }
        });
    }
    
    //以下是自定义方法
    //删除
    void deleteAll(){
        jTextArea1.replaceRange("",jTextArea1.
                getSelectionStart(),jTextArea1.getSelectionEnd());
    }
    
    //打开文件的方法
    void openFile(String fileName) {
        try {
            File file = new File(fileName);
            int size = (int) file.length();
            int chars_read = 0;
            FileReader in = new FileReader(file);
            char[] data = new char[size];
            while (in.ready()) {
                chars_read += in.read(data, chars_read, size - chars_read);
            }
            in.close();
            jTextArea1.setText(new String(data, 0, chars_read));
            this.currentFileName = fileName;
            this.motified = false;
            this.setTitle("个人记事本 - " + "[" + file.getName() + "]"+"[未保存]");
        }
        catch (IOException e) {
            jTextArea1.setText("打开错误!" + fileName);
        }
  }
    
    //保存文件操作
    boolean saveFile() {
        if (currentFileName == null)
            return saveAsFile();
        try {
            File file = new File(currentFileName);
             FileWriter out = new FileWriter(file);
             String text = jTextArea1.getText();
             out.write(text);
             out.close();
             this.motified = false;
             this.setTitle("个人记事本 - " + "[" + file.getName() + "]");
             return true;
        }
        catch (IOException e) {
        }
    return false;
  }
    
    //另存为操作
    boolean saveAsFile() {
        if (JFileChooser.APPROVE_OPTION == jFileChooser1.showSaveDialog(this)) {
            currentFileName = jFileChooser1.getSelectedFile().getPath();
            this.repaint();
            return saveFile();
        }
        else {
            this.repaint();
            return false;
        }
  }
  
    //文本改变操作
    boolean giveUp() {
        if (!motified)
            return true;
        int temp = JOptionPane.showConfirmDialog(this, "文字" +
                "已经改变!想保存文件吗?", "警告!",
                JOptionPane.YES_NO_CANCEL_OPTION);
        switch (temp) {
            case JOptionPane.YES_OPTION:
                return saveFile();
            case JOptionPane.NO_OPTION:
                return true;
            case JOptionPane.CANCEL_OPTION:
            default:
                return false;
        }
  }
    
    //右上角窗口关闭退出操作
    protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);
         if (e.getID() == WindowEvent.WINDOW_CLOSING) {
            file_exitActionPerformed(null);
            if (giveUp()){
                System.exit(0);
            }
         }
  }
    
    // 变量声明 - 不进行修改//GEN-BEGIN:variables
    private javax.swing.JMenu edit;
    private javax.swing.JMenuItem edit_all;
    private javax.swing.JMenuItem edit_copy;
    private javax.swing.JMenuItem edit_cut;
    private javax.swing.JMenuItem edit_delete;
    private javax.swing.JMenuItem edit_find;
    private javax.swing.JMenuItem edit_paste;
    private javax.swing.JMenu file;
    private javax.swing.JMenuItem file_exit;
    private javax.swing.JMenuItem file_new;
    private javax.swing.JMenuItem file_open;
    private javax.swing.JMenuItem file_pageset;
    private javax.swing.JMenuItem file_print;
    private javax.swing.JMenuItem file_save;
    private javax.swing.JMenuItem file_saveAs;
    private javax.swing.JMenu form;
    private javax.swing.JMenuItem form_backcolor;
    private javax.swing.JMenuItem form_char;
    private javax.swing.JMenuItem form_frontcolor;
    private javax.swing.JCheckBoxMenuItem form_huanhang;
    private javax.swing.JMenu help;
    private javax.swing.JMenuItem help_about;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JPopupMenu jPopupMenu1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea jTextArea1;
    private javax.swing.JMenuItem tanchu_all;
    private javax.swing.JMenuItem tanchu_copy;
    private javax.swing.JMenuItem tanchu_cut;
    private javax.swing.JMenuItem tanchu_delete;
    private javax.swing.JMenuItem tanchu_paste;
    // 变量声明结束//GEN-END:variables
    private File chosenFile;
    private int choice;
    private JFileChooser jFileChooser1 = new JFileChooser();
    boolean motified = false;
    String currentFileName = null;
    private PrinterJob prtMe = PrinterJob.getPrinterJob(); 
    Toolkit tk = Toolkit.getDefaultToolkit();
    /*
     void txtEmail_changedUpdate(javax.swing.event.DocumentEvent evt) {
        motified = true;
    }

    private void txtEmail_insertUpdate(javax.swing.event.DocumentEvent evt) {
        motified = true;
    }

    private void txtEmail_removeUpdate(javax.swing.event.DocumentEvent evt) {
        motified = true;
    }
    
    class NotePad_txtEmail_documentAdapter
      implements javax.swing.event.DocumentListener {
    NotePad adaptee;

    NotePad_txtEmail_documentAdapter(NotePad adaptee) {
      this.adaptee = adaptee;
    }

    public void changedUpdate(javax.swing.event.DocumentEvent evt) {
      adaptee.txtEmail_changedUpdate(evt);
    }

    public void insertUpdate(javax.swing.event.DocumentEvent evt) {
      adaptee.txtEmail_insertUpdate(evt);
    }

    public void removeUpdate(javax.swing.event.DocumentEvent evt) {
      adaptee.txtEmail_removeUpdate(evt);
    }
  
}*/
}

⌨️ 快捷键说明

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