Java实现的简易记事本

网友投稿 201 2023-08-02


Java实现的简易记事本

本文实例讲述了java实现的简易记事本。分享给大家供大家参考。具体如下:

感觉这个没有自己以前用Windows API写的好看了。。。

JDK Version : 1.7.0

效果如下图所示:

源代码如下:

import java.io.*;

import java.awt.*;

import java.awt.event.*;

/**

* The Main Window

* @author Neo Smith

*/

class PadFrame extends Frame

{

private MenuBar mb;

private Menu menuFile;

private Menu menuEdit;

private MenuItem[] miFile;

private TextArea ta;

final private Frame frame = this;

/**

* The inner class

* Message Handle

*/

class EventExit implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

System.exit(0);

}

}

class SystemExit extends WindowAdapter

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}

class EventMenuClose implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

ta.setText(null);

}

}

class EventOpenFile implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

//Create the OpenFile Dialog

SgVwgg FileDialog dlg = new FileDialog(frame,"Open Files",FileDialog.LOAD);

dlg.show();

String strPath;

if((strPath = dlg.getDirectory()) != null)

{

//get the full path of the selected file

strPath += dlg.getFile();

//open the file

try

{

FileInputStream fis = new FileInputStream(strPath);

BufferedInputStream bis = new BufferedInputStream(fis);

byte[] buf = new byte[3000];

int len = bis.read(buf);

ta.append(new String(buf,0,len));

bis.close();

}

catch(Exception ex)

{

ex.printStackTrace();

}

}

}

}

/**

* Construction Method

* Adding Menu and TextArea components

* @param strTitle

*/

public PadFrame(String strTitle)

{

super(strTitle);

this.setLocation(400,200);

this.setSize(900, 630);

//Create the Menu Bar

mb = new MenuBar();

menuFile = new Menu("File");

menuEdit = new Menu("Edit");

miFile = new MenuItem[]{new MenuItem("Open"),new MenuItem("Close"),new MenuItem("Exit")};

this.setMenuBar(mb);

mb.add(menuFile);

mb.add(menuEdit);

for(int i = 0 ; i < miFile.length ; ++i)

{

menuFile.add(miFile[i]);

}

//Add event handle

setMenuEventHandle(new EventExit(),"File",2);

setMenuEventHandle(new EventOpenFile(),"File",0);

setMenuEventHandle(new EventMenuClose(),"File",1);

this.addWindowListener(new SystemExit());

//add the TextArea component

ta = new TextArea(30,30);

this.add(ta);

}

public void setMenuEventHandle(ActionListener al,String strMenu,int index)

{

if(strMenu == "File")

{

miFile[index].addActionListener(al);

}

}

public int getMenuItemAmount(String strMenu)

{

if("File" == strMenu)

{

return miFile.length;

}

return -1;

}

public static void main(String[] args)

{

PadFrame f = new PadFrame("NotePad");

f.show();

}

}

希望本文所述对大家的java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java网络编程之简单的服务端客户端应用实例
下一篇:Java异常处理实例分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~