IO流、图形化用户界面、事件监听
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class Jsb extends JFrame implements ActionListener
{
JMenuBar cd;
JMenu cd1,cd2;
JMenuItem cdx1,cdx2;
JTextArea wby;
JScrollPane gd;
public static void main(String[] args)
{
Jsb js=new Jsb();
}
Jsb()
{
cd=new JMenuBar();
cd1=new JMenu("文件(F)");
cd1.setMnemonic('F');
cd2=new JMenu("编辑(E)");
cd2.setMnemonic('E');
cdx1=new JMenuItem("打开",new ImageIcon("photo/dk.jpg"));
cdx1.addActionListener(this);
cdx1.setActionCommand("open");
cdx2=new JMenuItem("保存",new ImageIcon("photo/bc.jpg"));
cdx2.addActionListener(this);
cdx2.setActionCommand("save");
wby=new JTextArea();
gd=new JScrollPane(wby);
cd1.add(cdx1); cd1.add(cdx2);
cd.add(cd1); cd.add(cd2);
this.setJMenuBar(cd); this.add(gd);
ImageIcon tp1=new ImageIcon("photo/jsb.jpg");
this.setIconImage(tp1.getImage());
this.setTitle("记事本");
this.setSize(400,300);
this.setLocation(300,280);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("open")) //
{
JFileChooser wjxz=new JFileChooser();//文件选择框
wjxz.setDialogTitle("文件打开"); //对话框标题
wjxz.showOpenDialog(null);//显示打开对话框的模式,null默认
wjxz.setVisible(true);
String wjlj=wjxz.getSelectedFile().getAbsolutePath();//选择文件的全路径
FileReader wjl=null; BufferedReader hcl=null;
try
{
wjl=new FileReader(wjlj);
hcl=new BufferedReader(wjl);
String s="",zfc="";
while((s=hcl.readLine())!=null)
{
zfc+=(s+"\n");
}
wby.setText(zfc);
}
catch(Exception a){}
finally
{
try
{
wjl.close();
hcl.close();
}
catch(Exception a1){}
}
}
else if(e.getActionCommand().equals("save"))
{
JFileChooser wjxz1=new JFileChooser();
wjxz1.setDialogTitle("另存为");
wjxz1.showSaveDialog(null);
wjxz1.setVisible(true);
String wjlj1=wjxz1.getSelectedFile().getAbsolutePath();
try
{
PrintStream pl=new PrintStream(wjlj1);
System.setOut(pl);
System.out.println(this.wby.getText());
}
catch(Exception a2){}
finally
{
try
{
}
catch(Exception a2){}
}
}
}
}
本人初学者,旨在记录学习java的过程,欢迎大家指正,如果有针对上述部分代码更优秀的代码请写在评论区,我一定会回复感谢并更正。