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

📄 diary.java

📁 程序人员在编程过程中如果遇到相关问题可以来这里进行参考
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 * Diary.java
 *
 * Created on 2007年12月9日, 上午10:27
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package diary;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.lang.String;
import java.net.URL;

/**
 *
 * @author hy
 */
public class Diary extends JFrame implements ActionListener{
   private boolean changed;
   private String fileName;
 JScrollPane textscrollpane=new JScrollPane();

   
JMenuBar menuBar=new JMenuBar();


JMenu Filemenu=new JMenu("文件");
JMenuItem newFileItem=new JMenuItem("新建(N)",'N');
JMenuItem openFileItem=new JMenuItem("打开(O)",'0');
JMenuItem saveFileItem=new JMenuItem("保存(S)",'S');
JMenuItem saveAsFileItem=new JMenuItem("另存为(A)",'A');
JMenuItem exitFileItem=new JMenuItem("退出(X)",'X');

JMenu Editmenu=new JMenu("编辑");
JMenuItem FindEditItem=new JMenuItem("查找(F)",'F');
JMenuItem cutEditItem=new JMenuItem("剪切(T)",'T');
JMenuItem copyEditItem=new JMenuItem("复制(C)",'C');
JMenuItem PasteEditItem=new JMenuItem("粘贴(P)",'P');

JMenu Setmenu=new JMenu("设置");
JMenu Fontmenu=new JMenu("字体");
JMenuItem  FcolorMenuItem=new JMenuItem("字体颜色");
JMenuItem BcolorMenuItem=new JMenuItem("背景颜色");
JCheckBoxMenuItem boldMenuItem=new JCheckBoxMenuItem("黑体");
JCheckBoxMenuItem italicMenuItem=new JCheckBoxMenuItem("斜体");

 JMenu Helpmenu=new JMenu("帮助");
 JMenuItem AboutItem=new JMenuItem("关于");



JTextArea textDemo=new JTextArea("示例文件");

int Bold,Italic;

public Diary(){
    addWindowListener( new WindowAdapter(){
        public void windowClosing(WindowEvent e){
            exitForm(e);} 
    });


this.setJMenuBar(menuBar);
menuBar.add(Filemenu);
menuBar.add(Editmenu);
menuBar.add(Setmenu);
menuBar.add(Helpmenu);

Filemenu.add(newFileItem);
Filemenu.add(openFileItem);
Filemenu.add(saveFileItem);
Filemenu.add(saveAsFileItem);
Filemenu.add(exitFileItem);


Editmenu.add(cutEditItem);
Editmenu.add(copyEditItem);
Editmenu.add(PasteEditItem);
Editmenu.add(FindEditItem);

Setmenu.add(FcolorMenuItem);
Setmenu.add(BcolorMenuItem);
Setmenu.add (Fontmenu);
Fontmenu.add (boldMenuItem);
Fontmenu.add (italicMenuItem);
Helpmenu.add(AboutItem);

this.getContentPane().add(textDemo);

ImageIcon newIcon=new ImageIcon("new.gif");
 JButton newBtn=new JButton(newIcon);
 newBtn.setToolTipText("新建");
JButton openBtn=new JButton(new ImageIcon("open.gif"));
openBtn.setToolTipText("打开");
JButton saveBtn=new JButton(new ImageIcon("save.gif"));
saveBtn.setToolTipText("保存");
JToolBar toolBar=new JToolBar("文件工具",SwingConstants.HORIZONTAL);
    toolBar.add(newBtn);   toolBar.add(openBtn);toolBar.add(saveBtn);
     JToolBar toolBar1=new JToolBar("编辑工具",SwingConstants.HORIZONTAL);
JButton cutBtn=new JButton(new ImageIcon("cut.gif"));
cutBtn.setToolTipText("剪切(C)");
JButton copyBtn=new JButton(new ImageIcon("copy.gif"));
copyBtn.setToolTipText("复制");
JButton pasteBtn=new JButton(new ImageIcon("paste.gif"));
pasteBtn.setToolTipText("粘贴");

      toolBar1.add(cutBtn);
      toolBar1.add(copyBtn);
      toolBar1.add(pasteBtn);
      JPanel p=new JPanel(new FlowLayout(FlowLayout.LEFT));
      p.add(toolBar);       p.add(toolBar1);
  getContentPane().add(p,BorderLayout.NORTH);
  getContentPane().add(textscrollpane,BorderLayout.CENTER);
  createPopupMenu();
    newBtn.addActionListener( new ActionListener(){
            public void actionPerformed(ActionEvent e){
             newMenuItem();
            }
        });
   
  openBtn.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e)
       {
            openMenuItem();
       }
   });
  saveBtn.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e)
       {
              doSave(fileName);
                  fileName="";
                 textDemo.setText("");
                  changed=false;  
       }
  });
   cutBtn.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e)
       {
           textDemo.cut();
       }
   });
  
  copyBtn.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e)
       {
           textDemo.copy();
       }
   });
 pasteBtn.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e)
       {
           textDemo.paste();
       }
   });
textscrollpane.setViewportView(textDemo);
  textDemo.getAccessibleContext().setAccessibleName("Text Demo"); 
    textDemo.getAccessibleContext().setAccessibleDescription("Text demo.");
    textDemo.getDocument().addDocumentListener(new DocumentListener(){
          public void insertUpdate(DocumentEvent e){
              changed=true;
          }
          public void removeUpdate(DocumentEvent e){
              changed=true;
          }
           public void changedUpdate(DocumentEvent e){
              changed=true;
          }
      });
}

   public void exitForm(WindowEvent e){
       System.exit(0);
   }
    
    
    /**
     * @param args the command line arguments
     */
public static void main(String[] args){
Diary frame=new Diary();
frame.regListener();
frame.setTitle("记事本");
frame.setSize(500,650);
frame.setVisible(true);
}

private void regListener(){
   newFileItem.addActionListener(this);
   openFileItem.addActionListener(this);
  saveFileItem.addActionListener(this);  
  saveAsFileItem.addActionListener(this);
  exitFileItem.addActionListener(this);
  FindEditItem.addActionListener(this);
  cutEditItem.addActionListener(this);
  copyEditItem.addActionListener(this);
  PasteEditItem.addActionListener(this);
  FcolorMenuItem.addActionListener(this);
 BcolorMenuItem.addActionListener(this);
  boldMenuItem.addActionListener(this); 
  italicMenuItem.addActionListener(this); 
  AboutItem.addActionListener(this);
 
  
}

    
public void actionPerformed(ActionEvent e){
    if(e.getActionCommand().equals("新建(N)"))
    {
         int n;
      Object[] option={"YES","NO","CANCEL"};
      if(changed==true)
      {
          n=JOptionPane.showOptionDialog(null,"你的文件还没保存,你想现在保存吗?",
                  "保存",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,
                  null,option,option[0]);
          switch(n)
          {
              case JOptionPane.YES_OPTION:{
                  doSave(fileName);
                  fileName="";
                 textDemo.setText("");
                  changed=false;
                  break;
              }
              case JOptionPane.NO_OPTION:{
                  fileName="";
                textDemo.setText("");
                  changed=false;
                  break;
              }
              case JOptionPane.CANCEL_OPTION:
                  break;
          }
      }
      else
      {
          fileName="";
        textDemo.setText("");
      }
    }
    else if(e.getActionCommand().equals("保存(S)")){
            doSave(fileName);
                  fileName="";
                 textDemo.setText("");
                  changed=false;  
    }
    else if(e.getActionCommand().equals("另存为(A)")){
                 doSaveAs();
                 fileName="";
                 textDemo.setText("");
                 changed=false;  
    }
      else if(e.getActionCommand().equals("打开(0)")){
            openMenuItem();
        
      }
    else if(e.getActionCommand().equals("退出(X)")){
         int n;
        Object[] option={"YES","NO"};
        if(changed==true)
        {
            n=JOptionPane.showOptionDialog(null,"你的文件还没保存,你想现在保存吗?",
                    "保存",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,option,option[0]);
            if(n==JOptionPane.YES_OPTION)
            {
                doSave(fileName);
                System.exit(0);
                
            }
        }
    }
   
        
    
     else if(e.getActionCommand().equals("查找(F)")){
            findMenuItem(e);
     }
    
     else if(e.getActionCommand().equals("剪切(T)")){
        textDemo.cut();
     }
    else if(e.getActionCommand().equals("复制(C)")){
        textDemo.copy();
     }
     else if(e.getActionCommand().equals("粘贴(P)")){
        textDemo.paste();
     }
    else if(e.getActionCommand().equals("黑体")){
        Bold=(boldMenuItem.isSelected()?Font.BOLD:Font.PLAIN);
    }
    else if(e.getActionCommand().equals("斜体")){
       Italic=(italicMenuItem.isSelected()?Font.ITALIC:Font.PLAIN);
    }
    else if(e.getActionCommand().equals("字体颜色")){
        FcolorMenuItem(e);
    }
     else if(e.getActionCommand().equals("背景颜色")){
      BcolorMenuItem(e);
    }
     else if(e.getActionCommand().equals("关于")){
        new About(this).setVisible(true);
     }
    
  
          
}
  public void createPopupMenu()
    {
        JMenuItem menuItem;
        JSeparator jseparator1;
        JPopupMenu popup=new JPopupMenu();
        menuItem=new JMenuItem("新建");
        menuItem.addActionListener( new ActionListener(){
            public void actionPerformed(ActionEvent e){
             newMenuItem();
            }
        });
  
  popup.add(menuItem);
   menuItem=new JMenuItem("剪切");
   menuItem.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e)
       {
           textDemo.cut();
       }
   });
    popup.add(menuItem);
    menuItem=new JMenuItem("复制");
   menuItem.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e)
       {
           textDemo.copy();
       }
   });
    popup.add(menuItem);
    menuItem=new JMenuItem("粘贴");
   menuItem.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e)
       {
           textDemo.paste();
       }
   });
    popup.add(menuItem);
   menuItem=new JMenuItem("背景颜色...");
   menuItem.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e)
       {
           BcolorMenuItem(e);
       }

⌨️ 快捷键说明

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