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

📄 notebook.java

📁 Java 记事本
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.io.*;             //引入各类包 
import java.io.File;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.*;
import javax.swing.filechooser.FileFilter;
import java.util.*;
import java.applet.*;
import java.net.*;
public class NoteBook extends JFrame implements ActionListener,Runnable{//定义含有继承和接口的类
  final JTextArea ta;              //定义各个变量
  JScrollPane sp;
  JButton openBtn;
  JButton saveBtn;
  final JFileChooser fc;
  JOptionPane alarmPane,musicPane,helpPane,wakePane;
  JDialog alarmDialog,musicDialog,helpDialog,wakeDialog;
  Thread t;
  int h1,m1,s1,h2,m2,s2;
  Calendar c;
  String alarmString,hourString,minuteString,secondString,musicString;
  String[] values={"标准","警车","冬之恋","猫头鹰"};
  AudioClip music;
  Applet ap;
  URL sound;
  JButton btn[];
  Icon icon[];
  public NoteBook(){   //构造方法
    super("我的记事本");
    ta=new JTextArea(20,30);    //创建多行文本框
    sp=new JScrollPane(ta);   //创建滚动窗格
    fc=new JFileChooser();   //创建存取文本的对话框
    TestFileFilter filter=new TestFileFilter();    //创建一个FileFilter,此方法实现接收目录及扩展名为"txt"的文件
    fc.addChoosableFileFilter(filter);    //将filter对象加入存取对话框中
    JMenuBar menubar=new JMenuBar();   //创建菜单条
    JMenu menuFile=new JMenu("文件");    //以下创建各个菜单
    JMenu menuEdit=new JMenu("编辑");
    JMenu menuTool=new JMenu("工具");
    JMenu menuHelp=new JMenu("帮助");
    JMenuItem newItem=new JMenuItem("新建");
    JMenuItem openItem=new JMenuItem("打开...");   //以下创建各个菜单项
    JMenuItem saveItem=new JMenuItem("保存...");
    JMenuItem quitItem=new JMenuItem("退出");
    JMenuItem allItem=new JMenuItem("全选");
    JMenuItem cutItem=new JMenuItem("剪切");
    JMenuItem copyItem=new JMenuItem("复制");
    JMenuItem pasteItem=new JMenuItem("粘贴");
    JMenuItem alarmItem=new JMenuItem("闹钟");
    JMenuItem calculatorItem=new JMenuItem("计算器");
    JMenuItem helpItem=new JMenuItem("帮助");
    menubar.add(menuFile);        //以下将菜单项加入各菜单,将各菜单加入菜单条
    menuFile.add(newItem);
    menuFile.addSeparator();
    menuFile.add(openItem);
    menuFile.addSeparator();
    menuFile.add(saveItem);
    menuFile.addSeparator();
    menuFile.add(quitItem);
    menubar.add(menuEdit);
    menuEdit.add(allItem);
    menuEdit.addSeparator();
    menuEdit.add(cutItem);
    menuEdit.addSeparator();
    menuEdit.add(copyItem);
    menuEdit.addSeparator();
    menuEdit.add(pasteItem);
    menubar.add(menuTool);
    menuTool.add(alarmItem);
    menuTool.addSeparator();
    menuTool.add(calculatorItem);
    menubar.add(menuHelp);
    menuHelp.add(helpItem);
    newItem.setActionCommand("0");        //以下给各菜单项设置事件源及注册监听,以及键盘快捷键
    newItem.setAccelerator(KeyStroke.getKeyStroke("alt N"));
    newItem.addActionListener(this);
    openItem.setActionCommand("1");    
    openItem.setAccelerator(KeyStroke.getKeyStroke("alt O"));
    openItem.addActionListener(this);
    saveItem.setActionCommand("2");
    saveItem.setAccelerator(KeyStroke.getKeyStroke("alt S"));
    saveItem.addActionListener(this);
    quitItem.setActionCommand("10");
    quitItem.setAccelerator(KeyStroke.getKeyStroke("alt Q"));
    quitItem.addActionListener(this);
    allItem.setActionCommand("3");
    allItem.setAccelerator(KeyStroke.getKeyStroke("alt A"));
    allItem.addActionListener(this);
    cutItem.setActionCommand("4");
    cutItem.setAccelerator(KeyStroke.getKeyStroke("alt T"));
    cutItem.addActionListener(this);
    copyItem.setActionCommand("5");
    copyItem.setAccelerator(KeyStroke.getKeyStroke("alt C"));
    copyItem.addActionListener(this);
    pasteItem.setActionCommand("6");
    pasteItem.setAccelerator(KeyStroke.getKeyStroke("alt P"));
    pasteItem.addActionListener(this);
    alarmItem.setActionCommand("8");
    alarmItem.setAccelerator(KeyStroke.getKeyStroke("alt M"));
    alarmItem.addActionListener(this);
    calculatorItem.setActionCommand("7");
    calculatorItem.setAccelerator(KeyStroke.getKeyStroke("alt U"));
    calculatorItem.addActionListener(this);
    helpItem.setActionCommand("9");
    helpItem.setAccelerator(KeyStroke.getKeyStroke("alt H"));
    helpItem.addActionListener(this);
    setJMenuBar(menubar);        //将菜单条加入容器中
    getContentPane().add(sp,BorderLayout.CENTER);   //向内容窗格中加入卷动窗格组件 
    JPanel tools1Panel=new JPanel();        //建立两个JPanel面板
    JPanel tools2Panel=new JPanel();
    icon= new ImageIcon[11];        //为数组分配每个元素的引用空间
    btn=new JButton[11];
    for(int i=0;i<=5;i++){        //记事本最上行的工具栏
      icon[i]=new ImageIcon("icon/"+i+".jpg");
      btn[i]=new JButton(icon[i]);      //为每个数组元素分配空间
      tools1Panel.add(btn[i]);
    }
    for(int i=6;i<=10;i++){        //记事本最下行的工具栏
      icon[i]=new ImageIcon("icon/"+i+".jpg");
      btn[i]=new JButton(icon[i]);
      tools2Panel.add(btn[i]);
    }
    getContentPane().add(tools1Panel,BorderLayout.NORTH);    //对面板进行布局
    getContentPane().add(tools2Panel,BorderLayout.SOUTH);
    for(int i=0;i<=10;i++){                     //设置工具栏按钮的命令与监听
      btn[i].setActionCommand(String.valueOf(i));
      btn[i].addActionListener(this);
    }
    Icon timeIcon=new ImageIcon("icon/time.gif");   //创建对话框的图标
     //创建一个闹铃时间设置的对话框面板
    alarmPane=new JOptionPane("<html><h2><font color=blue>请输入闹铃时间:\n格式 小时,分钟,秒钟(如: 09:26:00)",JOptionPane.INFORMATION_MESSAGE,JOptionPane.OK_CANCEL_OPTION,timeIcon);
    alarmPane.setWantsInput(true);   //设置成有输入区,以实现用户输入时间
    alarmDialog=alarmPane.createDialog(this,"自制闹铃");  //建立闹钟对话框
    Icon musicIcon=new ImageIcon("icon/music.gif");
      //创建一个闹铃铃声选择的对话框面板
    musicPane=new JOptionPane("<html><h2><font color=blue>请选择铃声音乐:",JOptionPane.INFORMATION_MESSAGE,JOptionPane.OK_CANCEL_OPTION,musicIcon);
    musicPane.setSelectionValues(values);     //设置输入区的资料
    musicDialog=musicPane.createDialog(this,"选择铃声");    //建立音乐选择对话框
    Icon helpIcon=new ImageIcon("icon/sun.gif");
      //创建一个帮助对话框面板
    helpPane=new JOptionPane("<html><h2><font color=red>使用这么'简单'的记事本还需要帮助嘛?!! ",JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE,helpIcon);
    helpDialog=helpPane.createDialog(this,"帮助");      //建立帮助对话框
    Icon alarmIcon=new ImageIcon("icon/alarm.gif");
      //创建一个提醒对话框面板
    wakePane=new JOptionPane("<html><h2><font color=red>时间到啦!时间到啦!",JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE,alarmIcon);
    wakeDialog=wakePane.createDialog(this,"提醒!");   //建立提醒对话框
  } 
  public void actionPerformed(ActionEvent e){       //对监听到的事件进行处理
    if(e.getActionCommand().equals("1")){      //监听到打开按钮的事件处理
      int val=fc.showOpenDialog(this);            //打开存取对话框
      if(val==JFileChooser.APPROVE_OPTION){      //如果按下赞成钮,则调用readerMethod()方法
        readerMethod();
      }
    }
    else if(e.getActionCommand().equals("2")){   //监听到保存按钮的事件处理
           int val=fc.showSaveDialog(this);         //打开存取对话框
           if(val==JFileChooser.APPROVE_OPTION){    //如果按下赞成钮,则调用writerMethod()方法
             writerMethod();
           }
         }

⌨️ 快捷键说明

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