这里有新鲜出炉的 Java 设计模式,程序狗速度看过来!
Java 程序设计语言
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称.
这篇文章主要为大家详细介绍了 Java 文件 (io) 编程之记事本开发,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
运行效果如下
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.phperz.com/article/18/0111/355204.html