第一部分:实验项目 

项目一:文件及选择

目的:了解文件对话框的用法,熟悉GUI中事件驱动的核心步骤。
1. 阅读博文 “JFileChooser (Java Swing提供的文件选择对话框)”,了解博文大意。
2. 在IDE中输入(非复制、粘贴)博文中的代码。调试并执行。
3. 在上述界面中。添加例如以下控件:
    JLabel,显示文本为“所选文件or目录:”。
    JTextField。当选择了文件or目录后,显示所选择的文件or目录。
4. 完毕上述功能。
注意:
1. 掌握GUI中经常使用的布局方式。对上述程序,设置布局为FlowLayout,或BorderLayout(參考教材P138-144)。
2.了解在线查看Java某个控件、类的使用方式,比較中英文文档的差异。当中site:XXX 表示在指定的网址搜索。
中文:百度中搜索“site:apihome.cn java api XXX ”,如“site:apihome.cn java api JTextField”
英文:百度中搜索“site:docs.oracle.com java api XXX ”。如“site:docs.oracle.com java api JTextField”
3. 总结Java 事件驱动的工作原理。參考并改写教材的例6-1(P115-116),把applet改写为JFrame。
4. 为什么须要“敲”代码?见博文  to全部BBS的同学:如何才是学习的好方法?转《笨方法学Python》。笨方法更简单。

package com.liang;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class FileChooser extends JFrame implements ActionListener{JButton open=null;JTextField jtfPath = null;public static void main(String[] args) {new FileChooser();}public FileChooser(){this.setLayout(new FlowLayout());//   JLabel picture = new JLabel("pictureURL");//  add( picture);// button初始化open=new JButton("open");// 加入监听open.addActionListener(this);// 把button加入到JFrame容器中this.add(open);// 加入文本框控件jtfPath = new JTextField("选择的文件",40);jtfPath.setEditable(false);     // 不可编辑jtfPath.setHorizontalAlignment(JTextField.CENTER);    // 居中this.add(jtfPath);// 设置JFrame的大小,可显示。默认关闭buttonthis.setBounds(400, 200, 700, 500);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubJFileChooser jfc=new JFileChooser();jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );jfc.showDialog(new JLabel(), "选择");File file=jfc.getSelectedFile();if(file.isDirectory()){System.out.println("目录:"+file.getAbsolutePath());}else if(file.isFile()){System.out.println("文件:"+file.getAbsolutePath());}System.out.println(jfc.getSelectedFile().getName());// 把文件路径显示在文本框中jtfPath.setText(file.getAbsolutePath());}
}

转载于:https://www.cnblogs.com/clnchanpin/p/7339080.html

《Java程序设计》第16周周四:GUI编程及文件对话框的使用相关推荐

  1. java 对话框计算器,《Java程序设计》第16周礼拜四:GUI编程及文件对话框的使用 计算器...

    <Java程序设计>第16周周四:GUI编程及文件对话框的使用 计算器 项目三:实验六 图形用户界面(教材P279-280) 目标:完成实验六的内容. 运行代码 import java.a ...

  2. 20155226 2016-2017-2 《Java程序设计》第一周学习总结

    20155226 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周主要学习了一二章的内容,也浏览了剩余章节,以下是本周主要学习内容总结 1.首先了解了[ ...

  3. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  4. 20175317 《Java程序设计》第一周学习总结

    20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...

  5. 20172318 2016-2017-2 《Java程序设计》第一周学习总结

    20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...

  6. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  7. 20155313 2016-2017-2 《Java程序设计》第二周学习总结

    20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...

  8. 20172325 2018-2019-1 《Java程序设计》第二周学习总结

    20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...

  9. 张旭升20162329 2006-2007-2 《Java程序设计》第一周学习总结

    20162329 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 通过打书上的代码熟悉了Java编程的基本过程 教材学习中的问题和解决过程 1.因为我的虚拟机 ...

最新文章

  1. 解决ubuntu开机进入grub界面的问题
  2. html哪个属性不会脱离文档流,html 在不给高的时候使用float为什么下面的文档会脱离文档流...
  3. [Linux]C语言Linux系统编程创建进程
  4. 基于蚂蚁金服「如何管理好10万行代码」搭建了 Vue 项目架构
  5. Spring-IOC XML 配置多个相同 ID 的 bean 加载分析
  6. codeforces1440 D. Graph Subset Problem
  7. Linux网络编程---I/O复用模型之epoll
  8. 漫画:图的 “最短路径” 问题 | 技术头条
  9. php object 对象不存在。增加对象_深度好文:PHP写时拷贝与垃圾回收机制
  10. php案例分析百度云_百度阅读|助力推动阅读领域无障碍优化(二)
  11. 05 - 雷达的发展与应用
  12. Android架构 armeabi、armeabi-v7a、arm64-v8a、x86详解
  13. 2020.10.30文献1:《滇中引水工程香炉山隧洞地应力特征及其活动构造响应》
  14. 论傻瓜交换机接到有vlan的网管交换机为什么可以通信
  15. 又拍云推出区块链开发平台,覆盖多个公链
  16. 两个指定顶点之间最短路问题Lingo解法
  17. ros 控制xbox_从提示框:在Windows中控制Xbox控制器,在夏天保持计算机凉爽以及DIY图书扫描装置...
  18. 数据分析师常用工具有哪些?初学者必看
  19. 三国论(21-25章)
  20. Android Adb命令(5) - find 查找设备文件

热门文章

  1. [Swift]LeetCode921.使括号有效的最少添加 | Minimum Add to Make Parentheses Valid
  2. [NOIP2003普及组]麦森数(快速幂+高精度)
  3. C#实现鼠标进入按键范围后按键自动窗体内位置移动
  4. jquery 固定导航
  5. Qt SizeHint()
  6. [收藏]ASP数据库操作类(上)
  7. PCD Lesson3:PCD文件的读取
  8. 重新配对_国羽世界冠军组合重新配对!男方笑言“老夫老妻”,没什么感觉
  9. android自动创建快捷方式,Android开发之生成桌面快捷方式细则(原创)
  10. MySQL-数据类型 整理总结