界面编程 文件IO 监听
2015-06-14 17:58
387 查看
记事本的打开保存功能 用到了JFileChoser
package MyNote; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import javax.swing.*; public class MyNote extends JFrame implements ActionListener{ /** * @param args */ JTextArea jta; JScrollPane jsp; JMenuBar jmb; JMenu jm; JMenuItem jmi1,jmi2; public static void main(String[] args) { // TODO Auto-generated method stub MyNote mn = new MyNote(); } public MyNote(){ jta = new JTextArea(); jsp = new JScrollPane(jta); jmb = new JMenuBar(); jm = new JMenu("File"); jmi1 = new JMenuItem("open"); jmi2 = new JMenuItem("save"); jmi1.addActionListener(this); jmi1.setActionCommand("open"); jmi2.addActionListener(this); jmi2.setActionCommand("save"); this.setJMenuBar(jmb); jm.add(jmi1); jm.add(jmi2); jmb.add(jm); this.add(jsp); this.setSize(400,300); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(e.getActionCommand().equals("open")){ System.out.println("open"); JFileChooser fc = new JFileChooser("dd"); fc.setDialogTitle("请选择"); fc.showOpenDialog(null); fc.setVisible(true); String s = fc.getSelectedFile().getAbsolutePath(); System.out.print(s); FileReader fr =null; BufferedReader br=null; String str = ""; String str1 = ""; try { fr = new FileReader(s); br = new BufferedReader(fr); int n=0; while((str=br.readLine())!=null){ str1 = str1+str+"\r\n"; } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); }finally{ try { br.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } jta.setText(str1); } } }
相关文章推荐
- 深入了解java集合框架一: LinkedHashMap的特殊功能 (基于访问的"最少使用算法(LRU))清除没有被访问或者少访问的元素
- C++对象模型之RTTI的实现原理
- java排序算法
- c语言文件操作简集
- Java操作XML文件(读)
- C++对象模型之详述C++对象的内存布局
- 【转载】学习JAVA WEB的路线
- 汇编程序--要术及编译过程
- python学习 持续更新
- C++对象模型之简述C++对象的内存布局
- python中if __name__ == '__main__': 的解析
- [LeetCode] Invert Binary Tree
- C++二插树和值与子树求解
- C/C++的学习 持续更新
- C语言文件处理-对图片取模数据的转换
- 重踏学习Java路上_Day03(java 基础上,运算符,IF等)
- C++ 静态成员函数调用非静态成员函数方法
- C++打印位数为n的所有数
- awk编程总结
- Java多线程中的阻塞队列和并发集合