java程序设计高晓黎电子版_Java程序设计课件(高晓黎)第9章Swing支持下的GUI编程.ppt...

本章知识重点 本章知识难点 Swing Swing概述 在最新的Java2中, javax.swing包被列入Java的基础类库(JFC),其中定义的Swing GUI组件相对于java.awt包的各种GUI组件增加了许多功能。 作为第二代GUI开发工具集的Swing与第一代开发工具集AWT具有以下区别: Swing Swing的体系结构 Swing的体系结构中采用了MVC设计模式。 MVC将应用程序分为三个功能既相互独立、又相互关联的对象 Swing Swing的组件类 Swing的GUI组件类有一个共同的基类JComponent,JComponent由AWT的容器类Container扩展而来。Swing的类分为两种类型:GUI类和非GUI类。 非GUI类为GUI类提供服务,并执行一些相关的功能;它们只 起支持作用,而不产生任何可视化的输出。非GUI类的典型 例子是Swing的事件处理类,这些类位于javax.swing.event 包中。 Swing Swing组件的事件处理机制与AWT的事件处理机制完全一样 Swing中完全可以使用java.awt.event包中的各种类进行事 件处理,同时也可以使用为它专门定制的另一个事件处理包 javax.swing.event中的类来处理事件。但AWT组件只能使用 前一个包中的事件类,而不允许使用后一个包中的事件类。 Swing 常用的Swing组件类的层次结构。 Swing编程基础 框架窗体JFrame 常用的Swing窗口容器组件包括:JFrame,JApplet,JDialog,JWindow等。其中JFrame与JDialog分别是AWT窗口容器组件Frame与Dialog的替代组件。 框架窗体JFrame 【方法一】使用JFrame类的getContentPane()方法首先获得当前JFrame窗体的ContentPane对象,然后调用ContentPane对象的add()方法添加GUI组件。 Container contentPane=.getContentPane(); contentPane.add(); 方法一对应的程序代码结构如下: JFrame appWindow=new JFrame(); //创建JFrame窗口 //设置窗口的各类属性 Container contentPane=appWindow.getContentPane(); //获取窗体的内容窗格 contentPane.setLayout(); //设置内容窗格的布局管理属性 //设置内容窗格的其他属性 contentPane.add(); //为内容窗格加入GUI组件 //为内容窗格加入其他GUI组件 appWindow.setVisible(true); //显示出窗口 框架窗体JFrame 【方法二】首先生成一个新的容器对象作为JFrame窗体的内容面板:通常选用面板组件JPanel担当此任,JPanel本身是容器组件,可以容纳其他的GUI元素(如按钮、菜单等)。 其次设置容器对象的布局管理器等属性,并使用add()方法将组件添加到JPanel对象中。 然后使用JFrame类的setContentPane()方法将JPanel对象设置为JFrame窗体的内容面板。setContentPane()方法的原型定义为: public void setContentPane(Container?contentPane) //设置一个容器对象作为当前窗体的ContentPane 框架窗体JFrame 创建JFrame窗口的主要步骤包括: ⑴用语句“import javax.swing.*;”导入Swing包,Swing包内包含了标准的Swing组件和接口。由于Swing对AWT的依赖性,加上大多数的Swing应用程序都具备事件处理的功能,往往还需要在程序再添加以下三条导入包的语句: import java.awt.*; import java.awt.event.*; import javax.swing.event.*; ⑵使用构造方法创建JFrame窗口。 ⑶设置窗口的大小、位置、标题、极小化后的图标等属性。 框架窗体JFrame ⑷设置窗口关闭后的响应行为。 ⑸向JFrame窗体添加组件前,必须先取得ContentPane对象,或者先为JFrame窗体创建一个ContentPane对象。 ⑹为ContentPane对象设置布局管理器及其他属性。 ⑺使用add()方法把组件加入到ContentPane对象中;如果ContentPane对象是新创建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值