[java]代码库
package smallgame;
import java.awt.*;
import javax.swing.*;
import java.io.*;//输入输出类
import java.awt.event.*;
public class EditBook {
public static void main(String[] args){
JFrame jframe =new JFrame("文本编辑/记事本");
jframe.setSize(500, 400);
JMenuBar jmenubar=new JMenuBar();//建立一个新的菜单栏
jframe.setJMenuBar(jmenubar);//把新建的菜单栏jmenubar添加到框架jframe
JMenu jmenu=new JMenu("文件选项");//建立一个新的名称为“文件选项”的JMenu组件
final JMenuItem jitemFOpen=new JMenuItem("打开文件");
final JMenuItem jitemFSave=new JMenuItem("保存文件");
final JMenuItem jitemFExit=new JMenuItem("退出程序");//菜单栏的3个具体操作
jmenu.add(jitemFOpen);
jmenu.add(jitemFSave);
jmenu.add(jitemFExit);//把新建的菜单组添加到菜单栏中
jmenubar.add(jmenu);//把菜单栏添加到jmenu中
final JTextArea textarea=new JTextArea(50,50);//生成一个带有50行50列的多行文本框
JScrollPane jSPane=new JScrollPane(textarea);//建立一个新的滚动面板,面板中包含textarea,当文本框的可见范围大于滚动面板时,出现滚动轴
jframe.add(jSPane,BorderLayout.CENTER);//把滚动面板添加到框架窗口中,并放在中间
final FileDialog filedialog_save=new FileDialog(jframe,"保存文件对话框",FileDialog.SAVE);
final FileDialog filedialog_open=new FileDialog(jframe,"打开文件对话框",FileDialog.LOAD);
filedialog_save.addWindowListener(new WindowAdapter(){
public void windowClosing(){
filedialog_open.setVisible(false);
}
});
ActionListener a=new ActionListener(){//事件监听器
public void actionPerformed(ActionEvent e){
if(e.getSource()==jitemFOpen){
filedialog_open.setVisible(true);
textarea.setText(null);
String str;
if(filedialog_open.getFile()!=null){
try{
File file=new File(filedialog_open.getDirectory(),filedialog_open.getFile());
FileReader file_reader=new FileReader(file);
BufferedReader bin=new BufferedReader(file_reader);//输入字符流
while((str=bin.readLine())!=null)
textarea.append(str+'\n');
bin.close();
file_reader.close();
}
catch(IOException e2){}//输入输出异常
}
}
if(e.getSource()==jitemFSave){
filedialog_save.setVisible(true);
if(filedialog_save.getFile()!=null){
try{
File file=new File(filedialog_save.getDirectory(),filedialog_save.getFile());
FileWriter tofile=new FileWriter(file);
BufferedWriter bout=new BufferedWriter(tofile);//输出字符流
bout.write(textarea.getText(),0,(textarea.getText()).length());//写入字符
bout.flush();//刷新字符流的缓冲
bout.close();//关闭字符流
tofile.close();
}
catch(IOException e2){}
}
}
if(e.getSource()==jitemFExit){
System.exit(0);//退出程序
}
}
};
jitemFOpen.addActionListener(a);
jitemFSave.addActionListener(a);
jitemFExit.addActionListener(a);
jframe.setVisible(true);
}
}
[源代码打包下载]
by: 发表于:2017-05-25 13:47:30 顶(0) | 踩(0) 回复
??
回复评论