文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>简单记事本程序

简单记事本程序

时间:2010-03-15  来源:guozhanchao

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
class TextEditorFrame extends JFrame
{
    File file=null;
    JTextPane text=new JTextPane(); //这是用来做文本框的
    JFileChooser filechooser=new JFileChooser(); //文件选择框
    JColorChooser colorchooser=new JColorChooser();
    JDialog about=new JDialog(this); //关于对话框
    JMenuBar menubar=new JMenuBar();//菜单
    JMenu[] menus=new JMenu[]{
  new JMenu("文件"),
  new JMenu("帮助")
    };
    JMenuItem menuitems[][]=new JMenuItem[][]{
  {//下拉菜单
   new JMenuItem("新建"),
   new JMenuItem("打开"),
   new JMenuItem("保存"),
   new JMenuItem("退出")
        },          
    { new JMenuItem("关于我们")
        }
    };
    //构造函数
  TextEditorFrame(){
     initTextPane();
     initMenu();
     initAboutDialog();
  }
   
  void initTextPane()
  {
     getContentPane().add(new JScrollPane(text));
  }            
  void initMenu()
  {//对菜单栏进行初始化
       for(int i=0;i<menus.length;i++)
       {
           menubar.add(menus[i]);
           for(int j=0;j<menuitems[i].length;j++)
           {
             menus[i].add(menuitems[i][j]);
             menuitems[i][j].addActionListener( action );//响应时事件
           }
       }
       this.setJMenuBar(menubar);
  }
  void initAboutDialog()
  {
       about.getContentPane().add(new JLabel(" 联系作者:1234567890"));
       about.setModal(true);
       about.setSize(300,300);
  }
   //事件处理
  ActionListener action=new ActionListener()
  {
      public void actionPerformed(ActionEvent e)
      {
       JMenuItem mi=(JMenuItem)e.getSource();
       String id=mi.getText();
       if(id.equals("新建")){
         text.setText("");
         file=null;
        }else if(id.equals("打开")){
                if(file!=null)filechooser.setSelectedFile(file);
                int returnVal=filechooser.showOpenDialog(TextEditorFrame.this);
                if(returnVal==JFileChooser.APPROVE_OPTION)
                {
                 file=filechooser.getSelectedFile();
                 openFile();
                }
            }else if(id.equals("保存")){
          if(file!=null) filechooser.setSelectedFile(file);
            int returnVal=filechooser.showSaveDialog(TextEditorFrame.this);
                if(returnVal==JFileChooser.APPROVE_OPTION)
                {
                 file=filechooser.getSelectedFile();
                   saveFile();
                }
            }else if(id.equals("退出")){
                TextEditorFrame f=new TextEditorFrame();
                int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗?","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);
                if(s==JOptionPane.YES_OPTION)
                System.exit(0);
             }else if(id.equals("关于我们")){
                about.setSize(400,150);
                about.show();
             } 
       }
  };
 
  void saveFile()
  {
       try{
             FileWriter fw=new FileWriter(file);
             fw.write(text.getText());
             fw.close();
          }catch(Exception e){
            e.printStackTrace();
            }
  }               
 
  void openFile()
  {
       try{
             FileReader fr=new FileReader(file);
             int len=(int)file.length();
             char []buffer=new char[len];
             fr.read(buffer,0,len);
             fr.close();
             text.setText(new String(buffer));
          }catch(Exception e){
            e.printStackTrace();
            }
  }
 
}
       
class Test
{
 public static void main(String args[]){
  TextEditorFrame f=new TextEditorFrame();            
  f.setTitle("记事本");
  f.setSize(800,600);
  f.show();
  }
}
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载