当前位置:编程学习 > JSP >>

JAVA写的NotePad

答案: 

学了JAVA一个月.就写了个NotePad.由于时间关系.要实训了,很多功能没加上去,只实现了简单的界面和最基本上的功能.
以后有时间再完善吧..

=================================================================================

/*猫猫..第一个Java程序
*
*
*copyright 猫猫
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;

public class Notepad extends JFrame
{
        String openFilePath;
        String openFileName;
    String title="ERROR MESSAGE";
    int type=JOptionPane.ERROR_MESSAGE;

  public Notepad()
  {
   
    super("记事本");
    final JTextArea text = new JTextArea();
    text.setToolTipText("请键入内容");
    //界面
   
   
    //退出事件
    this.addWindowListener(new WindowAdapter()
    {
        public void windowClosing(WindowEvent e)
        {
             System.exit(0);
        }
    });
    //简单的布局
    final JPanel panel=new JPanel();
    panel.setLayout(new GridLayout(1,1));
    panel.add(new JScrollPane(text));
    this.getContentPane().add(panel);
   
    //菜单项
    JMenuBar Mbar = new JMenuBar();
    this.setJMenuBar(Mbar);                              
    JMenu file = new JMenu("文件");
    JMenu edit = new JMenu("编辑");
    JMenu help = new JMenu("帮助");
    Mbar.add(file);
    Mbar.add(edit);
    Mbar.add(help);
    JMenuItem newFile = new JMenuItem("新建");
   
   
    newFile.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
              text.setText(" ");
        }
    });
        
        //布局结束
        //新建文件
    newFile.setMnemonic('N');
    newFile.setAccelerator( KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK,true));
    //打开文件
    JMenuItem open = new JMenuItem("打开");
    open.setMnemonic('O');
    open.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK,true));
    open.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
            JFileChooser openfile = new JFileChooser();
            openfile.setDialogTitle("打开文件");
            openfile.setApproveButtonText("打开");
            openfile.showOpenDialog(panel);
            File filename = openfile.getSelectedFile();
            StringBuffer strBF = new StringBuffer();
            String error_message = "Error";
            FileInputStream inputfile = null;
            try{
                    char buffer[] = new char[1024];
                    inputfile = new FileInputStream(filename);
                    int len = 0;
                    FileReader in = new FileReader(filename.getAbsoluteFile());
                    while((len = in.read(buffer)) != -1)
                     {
                          strBF.append(buffer , 0 , len);
                     }
                    inputfile.close();
                    text.setText(strBF.toString());
                    String openfilename = filename.getName();
                    setTitle(openfilename);
                     
                    }
                    catch(IOException ioEX)
                    {
                            JOptionPane.showMessageDialog(panel,error_message,title,type);
                    }
         
        }});
        //保存文件

    JMenuItem save = new JMenuItem("保存");
    save.setMnemonic('S');
    save.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK,true));
    save.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
           JFileChooser savefile=new JFileChooser();
           savefile.setApproveButtonText("保存");
           savefile.setDialogTitle("保存文件");
           savefile.showSaveDialog(panel);
           File filesa=savefile.getSelectedFile();
           String file_notfound_message="找不到文件";
           FileOutputStream outputfile=null;
       //处理异常开始   
           try
           {
             outputfile = new FileOutputStream(filesa);
           }
             catch(FileNotFoundException fe)
             {      
             JOptionPane.showMessageDialog(panel,file_notfound_message,title,type);<

上一个:Javamail中的常见中文乱码问题与解决办法(综合)
下一个:JAVA程序员必读:基础篇(4)类和继承

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,