1、Swing 基础Swing 解决了 AWT 的一些问题,是 AWT 的扩展,而且 Swing是使用纯 java 实现的,所有 Swing 具有跨平台性Swing 组件如:JBuuton 、JLabel 、JFrame、JPanel 等按钮Swing 中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标复选框单选按钮组合框进度条表格树文本框Swing 常用窗体Swing 常用面板java 程序创建菜单栏JMenuBar menuBar=new JMenuBar();setJMenuBar(menuBar);创建菜单JMenu fileMenu=new JMenu(“File“);创建子菜单L
2、Menu optionMenu=new JMenu(“Option“);创建菜单项JMenuItem newfile=new JMenuItem(“新建“);Swing 常用的组件-对话框对话框分为模式对话框和无模式对话框模式对话框必须在用户处理完后才允许用户与主窗口继续进行交互,无模式对话框允许用户同时在对话框和程序剩余部分输入信息Swing 中,提供四种简单的对话框:showMessageDialog:显示一条消息等待用户点击 OK;showConfirmDialog:显示一条消息并等待确认;showOptionDialog:显示一条消息并等待用户在一组自定义选项中的选择;showInpu
3、tDialog:显示一条消息并等待用户的输入。java 事件处理事件处理模式1.事件源: 是与用户交互的特定 GUI 组件2.事件对象: 封装事件发生的信息3.事件监听器: 负责处理事件方法如果用户在用户界面层执行了一个动作(如:鼠标点击按钮) ,者将导致一个事件的发生,事件是描述发生了什么的对象,存在各种不同的类型事件类用来描述各种类型的用户交互,会触发响应的事件监听器,来处理事件事件监听器事件监听器是用于监听事件源触发事件的对象,其中包括有对事件发生后的处理操作,在 java 语言中,针对不同的事件,定义了相关事件的监听接口JList列表1.显示一系列选项2.用户可以从中选择一个或多个选项
4、3.JList 类适配器类1.实现接口2.为接口内的每个方法提供默认实现(空方法体)3.不一定要定义事件监听器接口里的每一个方法布局管理器控制按钮的位置构造函数异常处理Try:使用在程序可能会出现不正常的地方,此时可以使用 try将可能出现异常的代码段包围起来,如果 try 语句块中出现异常,异常会被抛出Catch:用来捕获异常,并在这个语句块中对该异常进行处理,输出说明语句Java 程序中的错误1.语法错误2.语义错误捕获并处理自己程序中的异常数组绑定异常数字格式化异常算术异常Throws 关键字定义一个方法时可以使用 Throws 关键字声明public 返回值类型 方法名称(参数列表 )
5、throws 异常类 Java 文件的输入输出1.流的概念什么是数据流 ?日常生活中的流可以被理解为一根“导管” 。Java 语言中,流是程序在输入输出过程中流动的数据序列。流有两个端口:一端与数据源点(当输入数据时)或数据终点(当输出数据时)相连,另一端与程序相连。可以读取字节的类就被称为输入流,而且所有的输入流都继承自抽象类 InputScream,一个能够将字节流传送出去的类称为输出流,所有的输出流都继承自抽象类 outputScream,输入流和输出流可以分为字节流类和字符流类节点流:是直接建立在输入、输出媒体之上的。过滤流:必须以某一个节点流作为流的来源,可以在读写数据的同时对数据进
6、行处理。节点流:从特定的地方读写的流类,例如:磁盘或一块内存区域过滤流:使用节点流作为输入或输出,过滤流是使用一个存在的输入流或输出流连接创建的Writer 类:用来以字符方式向输出流中写入数据。其中包含了一套所有字符输出流都需要的方法,可以完成最基本的向字符输出流写入数据的功能。 Writer 类也是一个抽象类,实际应用中创建的对象是 Writer 类的某个子类的对象,通过对象与外设数据源相连。File 类:文件与目录的描述类File 类并不用来进行文件的读 /写操作(需要用到输入/输出流),它用来描述文件对象的属性,既可以表示文件,也可以表示目录。使用它提供的方法,我们可以得到所指对象的描
7、述信息,包括名称、存在否、读/ 写权限、路径等等。节点流进行文件的读写操作,步骤:建立流:使用 FileInputStream 类、FileOutputStream 类创建输入、输出流对象读(写)数据:运用 read()(从流中读出数据) 、write()()往流中写入数据关闭流:close()方法关闭流,释放相关资源见例 Stream_test1.java 源程序过滤流提供带缓存的读写,提高读写效率。进行文件的读写操作,步骤:建立流:需在已有的节点流基础上创建过滤输入、输出流对象读(写)数据:运用 read()(从流中读出数据) 、write()()往流中写入数据如果是写操作,可使用 flu
8、sh() 方法将过滤流的数据强制送出关闭流:close()方法关闭流,释放相关资源见例 Stream_test1.java 源程序System 类System 类是 Java 语言中一个功能强大、非常有用的类,它提供了标准输入与输出、运行时的系统信息等重要工具,是属于java.lang 包的一个终止类。System 类不能创建对象,即 System类的属性和方法都是静态的,引用时要以 System 为前缀。in、out、err 为 System 类的三个静态属性err: 含有关于运行时错误的信息。接受生成运行时错误的 Raise 方法和清除运行时错误的 Clear 方法。什么是反射反射主要是指
9、程序可以访问、检测和修改它本身状态或行为的一种能力。JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。反射的应用它首先被程序语言的设计领域所采用,并在 Lisp 和面向对象方面取得了成绩。其中 LEAD/LEAD+ 、OpenC+ 、MetaXa 和OpenJava 等就是基于反射机制的语言。最近,反射机制也被应用到了视窗系统、操作系统和文件系统中。 这类应用通过采用某种机制来实现对自己行为的描述和监测,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。