本文实例为大家分享了java开发简易记事本的具体代码,供大家参考,具体内容如下
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
|
public class notepad extends jframe implements actionlistener{
//定义需要的组件
jtextarea jta= null ; //多行文本框
jmenubar jmb= null ; //菜单条
jmenu jm1= null ; //菜单
jmenuitem jmi1= null ,jmi2= null ; //菜单项
public static void main(string[] args) {
notepad np= new notepad();
}
public notepad(){ //构造函数
jta= new jtextarea(); //创建jta
jmb= new jmenubar();
jm1= new jmenu( "文件" );
jm1.setmnemonic( 'f' ); //设置助记符
jmi1= new jmenuitem( "打开" , new imageicon( "imag_3.jpg" ));
jmi1.addactionlistener( this ); //注册监听
jmi1.setactioncommand( "open" );
jmi2= new jmenuitem( "保存" );
jmi2.addactionlistener( this );
jmi2.setactioncommand( "save" );
this .setjmenubar(jmb); //加入
jmb.add(jm1); //把菜单放入菜单条
jm1.add(jmi1); //把item放入到menu中
jm1.add(jmi2);
this .add(jta); //放入到jframe
this .setdefaultcloseoperation(jframe.exit_on_close);
this .setsize( 400 , 300 );
this .settitle( "记事本" );
this .seticonimage(( new imageicon( "imag_2.jpg" )).getimage());
this .setvisible( true );
}
@override
public void actionperformed(actionevent arg0) {
//判断是哪个菜单被选中
if (arg0.getactioncommand().equals( "open" )){
//jfilechooser,创建一个文件选择组件
jfilechooser jfc1= new jfilechooser();
jfc1.setdialogtitle( "请选择文件……" ); //设置名字
jfc1.showopendialog( null ); //默认方式
jfc1.setvisible( true ); //显示
//得到用户选择的文件全路径
string filename=jfc1.getselectedfile().getabsolutepath();
filereader fr= null ;
bufferedreader br= null ;
try {
fr= new filereader(filename);
br= new bufferedreader(fr);
//从文件中读取信息并显示到jta
string s= "" ;
string allcon= "" ;
while ((s=br.readline())!= null ){ //循环读取文件,s不为空即还未读完毕
allcon+=s+ "\r\n" ;
}
jta.settext(allcon); //放置到jta
} catch (exception e) {
e.printstacktrace();
} finally {
try {
fr.close();
br.close();
} catch (exception e) {
e.printstacktrace();
}
}
} else if (arg0.getactioncommand().equals( "save" )){
//出现保存对话框
jfilechooser jfc2= new jfilechooser();
jfc2.setdialogtitle( "另存为……" );
jfc2.showsavedialog( null ); //按默认的方式显示
jfc2.setvisible( true );
//得到用户希望把文件保存到何处,文件全路径
string filename2=jfc2.getselectedfile().getabsolutepath();
//准备写入到指定文件
filewriter fw= null ;
bufferedwriter bw= null ;
try {
fw= new filewriter(filename2);
bw= new bufferedwriter(fw);
bw.write( this .jta.gettext());
} catch (exception e) {
e.printstacktrace();
} finally {
try {
bw.close();
} catch (ioexception e) {
e.printstacktrace();
}
}
}
}
}
|
运行效果如下
点击文件按钮,点击打开菜单项,选择一个文本文件,效果如下:
打开后,内容显示如下:
对内容稍作修改,另存为名为sss的文件,效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/cxq1126/archive/2017/08/11/7347894.html