-------android培训、java培训、期待与您交流! ----------

以下代码实现的功能
1.写入路径,点击转到,列出该路径下的目录及文件;
2.在路径文本框中敲入回车符,完成1功能;
3.新建菜单
4.点击菜单下的打开,可以读入该文件的文本信息;
5.点击菜单下的保存,可以保存大文本框中的文本信息;
6.点击菜单下的退出,可以结束程序!

/*
基本文件的读取与保存
Strawberry2013-5-6
*/import java.awt.*;
import java.awt.event.*;
import java.io.*;class AwtDemo
{public static void main(String[] args){new Awt();}
}
class Awt
{private Frame f;       private TextField txtf;private TextArea txta;private Label labAddr;private Button bt;private MenuBar mbar;private Menu caidan;private MenuItem openMenu;private MenuItem saveMenu;private MenuItem exitMenu;Awt(){f = new Frame("my");f.setBounds(200,200,500,450);  //  设置出现的位置,及大小f.setLayout(new FlowLayout());labAddr = new Label("目录:");f.add(labAddr);txtf = new TextField(30);f.add(txtf);bt = new Button("转到");f.add(bt);txta = new TextArea(20, 60);f.add(txta);mbar = new MenuBar();               //mbar(MenuBar)caidan = new Menu("菜单");          //  |--caidan(Menu)openMenu = new MenuItem("打开");    //      |--openMenu(MenuItem)saveMenu = new MenuItem("保存");  //      |--saveMenu(MenuItem)exitMenu = new MenuItem("退出");  //      |--exitMenu(MenuItem)mbar.add(caidan);caidan.add(openMenu);caidan.add(saveMenu);caidan.addSeparator();              //      ---------------分割线caidan.add(exitMenu);f.setMenuBar(mbar);myEvent();f.setVisible(true);}public void myEvent()           //监听方法集{f.addWindowListener(new WindowAdapter()//窗体监听机制,由于有多个故有适配器{public void windowClosing(WindowEvent e)//当监听器发现窗体关闭,就会发生windwClosing动作,{                               //将事件打包,存于WindowEvent的e中,可以查看事件的相信信息!System.exit(0);               //程序退出}});bt.addActionListener(new ActionListener()//button按钮的活动监听{public void actionPerformed(ActionEvent e)//只有这一个方法{showDir(txtf.getText());}});/* button的双击监听bt.addMouseListener(new MouseAdapter(){public void mouseClicked(ActionEvent e){if(e.getClickCount() == 2)        //双击判断{//方法区}}});*/txtf.addKeyListener(new KeyAdapter(){public void keyPressed(KeyEvent e){if(e.getKeyCode() == KeyEvent.VK_ENTER)//监听是否为输入了Enter{e.consume();//********此处注意:::由于不接收enter符,会有提示音!当不希望某一字符输入时,可以使用该函数撤销输入的字符!showDir(txtf.getText());}}});openMenu.addActionListener(new ActionListener()//菜单的打开{public void actionPerformed(ActionEvent e){FileDialog fd = new FileDialog(f, "打开文件");fd.setVisible(true);String dir = fd.getDirectory();//获取路径String name = fd.getFile();if((dir==null) || (name==null))return;elseshowText(dir+name);         //操作return;}});saveMenu.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){FileDialog fd = new FileDialog(f, "打开文件", FileDialog.SAVE);fd.setVisible(true);String dir = fd.getDirectory();String name = fd.getFile();if((dir==null) || (name==null))return;elsesaveText(dir+name);return;}});exitMenu.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});}public void showDir(String path)        //列出目录及文件的文本信息{if(path.equals("")){txta.setText("目录不能为空!");return;}File dir = new File(path);if(!dir.exists())txta.setText("文件目录"+txtf.getText()+"不存在!");else if(!dir.isDirectory())txta.setText("只存在文件,不存在目录!");else{txta.setText("");String[] str = dir.list();for(String s: str)txta.append(s+"\r\n");}return;}public void showText(String path)        //读取文件的文本信息{try{BufferedReader bufr = new BufferedReader(new FileReader(path));txta.setText("");String str = null;while((str=bufr.readLine()) != null)txta.append(str+"\r\n");bufr.close();}catch (IOException e){}return;}public void saveText(String path)       //保存大文本框中的文本信息{try{BufferedWriter bufw = new BufferedWriter(new FileWriter(path));bufw.write(txta.getText());bufw.close();}catch (IOException e){}return;}
}

黑马程序员_图形用户界面GUI_简单应用相关推荐

  1. 黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

    黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合 ...

  2. 黑马程序员_异常(老毕视频总结及《疯狂java》补充)

    ----------------------<ahref="http://edu.csdn.net"target="blank">ASP.Net+A ...

  3. 黑马程序员_石头迷阵小游戏

    黑马程序员_石头迷阵小游戏 源代码 一些说明: 1)这些是我看b站黑马程序员的视频,自己手打的,想分享一下,如果有侵权啥的请联系我,马上删除 2)一些比较重要的我都有给注释 3)工具idea idk版 ...

  4. 解析python网络爬虫pdf 黑马程序员_正版 解析Python网络爬虫 核心技术 Scrapy框架 分布式爬虫 黑马程序员 Python应用编程丛书 中国铁道出版社...

    商品参数 书名:Python应用编程丛书:解析Python网络爬虫:核心技术.Scrapy框架.分布式爬虫 定价:52.00元 作者:[中国]黑马程序员 出版社:中国铁道出版社 出版日期:2018-0 ...

  5. 黑马程序员_基础测试

    -------android培训.java培训.期待与您交流! ---------- 黑马程序员训练营基础测试题及个人代码(包含思路.步骤和基本注释) 1. 编写程序计算12+22+32+....+1 ...

  6. 黑马程序员_面向对象

    java是面向对象的编程,下面我想通过自己对java的学习,来谈谈对面向对象的理解.      给大家说一个非常熟悉的例子:老张开车去东北.用面向对象的方式考虑这个问题:车,找个司机,然后告诉司机我要 ...

  7. 黑马程序员_集合总篇_基础之重点

    ------- <a href="http://www.itheima.com" target="blank">android培训</a> ...

  8. 黑马程序员_音乐(视频)播放器学习

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 1.本节主要学习了音乐播放器的简单制作,在此篇 ...

  9. 黑马程序员_面试题(一)交通灯管理系统

    android培训.java培训.期待与您交流! [Road类]: 每个Road对象都有一个name成员变量来代表方向,有一个vehicles成员变量来代表方向上的车辆集合. 在Road对象的构造方法 ...

最新文章

  1. 单片机节日彩灯实训报告_单片机课程设计(节日彩灯控制)
  2. 为什么使用依赖注入?
  3. db2设置默认schema_DB2中设置当前会话的Schema
  4. 两个线程如何交替执行,一个输出偶数一个输出奇数?
  5. 目录和文件管理(一)
  6. ABP入门系列(1)——通过模板创建MAP版本项目
  7. 窗口大小改变时,显示内容的处理(正投影情况)
  8. 【医疗影像处理】使用前景像素的均值和方差(mean,std)对图像进行归一化(背景像素为0)【numpy-code】
  9. axios.js post 后台木有数据
  10. java jpanel 叠加_java之JFrame、JPanel混合布局-Go语言中文社区
  11. 【图像去噪】基于matlab维纳滤波图像去噪【含Matlab源码 725期】
  12. CefSharp 知道这些就完事了
  13. 如何换ionic里面的图标
  14. 我走过最长的路,就是XMX的套路
  15. 华尔街“是”世界经济关键角色的原因
  16. 搭建react项目并配置路由
  17. JAVA静态代理与动态代理(JDK和CGLIB)
  18. 月薪过万应届生的10个忠告,抽点时间看看,真心受用!!
  19. ccs中c语言定义布尔常量,CCS中寄存器定义方法
  20. word中如何在表格上方加入一行以及英文如何设置自动断字

热门文章

  1. 微信小程序跳转页面带参数
  2. Chrome浏览器,就是我所需要的浏览器
  3. 编译thingsboard 3.3.3过程
  4. Cloudera的数据科学家认证考试
  5. 数据库泰斗DeWitt:Shared-nothing架构落幕,Shared-storage架构归来
  6. VS2017+Opencv4.2.0 用HOG+SVM实现INRIA行人检测 报错[ INFO:0] global
  7. windows server 2012 r2 standard 通过堡垒机远程桌面服务器报错Remote Desktop Service CALs Request Failed
  8. 雷达感应模组,自动播放讲解仪雷达应用,雷达传感器技术
  9. Origin: 气泡图+颜色映射图
  10. 陶哲轩实分析 2.3节 习题试解