本文实例讲述了Java实现的简易记事本。分享给大家供大家参考。具体如下:
感觉这个没有自己以前用Windows API写的好看了。。。
JDK Version : 1.7.0
效果如下图所示:
源代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
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
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程序设计有所帮助。