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) 回复
??
回复评论