[工学]JAVA第十章 图形用户界面2.ppt

[工学]JAVA第十章 图形用户界面2

第10章 图形用户界面(2) 4、Swing的组件与容器 Swing类从AWT类派生出来。 Swing组件类大部分都以 J 开头。 Swing类与用AWT编写的程序兼容。它的组件是AWT的两倍,大约有40多个。 Java.awt类集 Swing 结构 Swing中几乎所有组件都是从JComponent衍生而来,也就是说这些组件都是lightweight Component,均由纯java所编写而成 。 Swing中以下几个组件不是由JComponent继承面来: JFrame,JDialog,JWindow,JApplet    以上四个组件是heavyweight Component Swing中的JFrame便继承原有AWT中的Frame类,而不是继承JComponent类。同样,JApplet是继承原有AWT中的JApplet类,也不是继承JComponent类。 4.1 Swing组件层次 通常将javax.swing包里的Swing组件归为三个层次 顶层容器 中间层容器 原子组件 注:容器(container)实际上是含有若干组件或其他容器的屏幕窗口。 顶层容器 每个使用Swing组件的Java程序都必须至少有一个顶层容器,别的组件都必须放在这个顶层容器上才能显现出来 Swing提供四个顶层容器的类 JFrame:用于框架窗口的类,此窗口带有边框、标题、用于关闭和最小化窗口的图标等。带 GUI 的应用程序通常至少使用一个框架窗口。 JDialog:用于对话框的类。 JApplet:用于使用 Swing 组件的 Java Applet 的类。 JWindow:是一个空窗口,没有边框,一般不直接使用JWindow。 中间层容器 其存在的目的仅仅是为了容纳别的组件。 好的编程风格是:不要直接向Swing顶层容器添加组件。 应该把组件先放在中间容器里,然后再添加到顶层容器。 JPanel:最灵活、最常用的中间容器。 JScrollPane:与 JPanel 类似,但还可在大的组件或可扩展组件周围提供滚动条。 JTabbedPane:包含多个组件,但一次只显示一个组件。用户可在组件之间方便地切换。 JToolBar:按行或列排列一组组件(通常是按钮)。 JSplitPane:分隔面板,一次可将两个组件同时显示在两个显示区中,若需要同时在多个显示区中显示组件,可以同时使用多个JSplitPane组件来实现。 原子组件 通常是在图形用户界面中和用户进行交互的组件 基本功能是和用户交互信息,而不像前两种组件那样是用来容纳别的组件的 根据功能的不同,可被分为三类 显示不可编辑信息的JLabel、JProgressBar、JToolTip 有控制功能、可以用来输入信息的JButton、JCheckBox、JRadioButton、JComboBox、JList、JMenu、JSlider、JSpinner、JTexComponent等 能提供格式化的信息并允许用户选择的JColorChooser、JFileChooser、JTable、JTree 4.2 Swing GUI框架 5、Swing GUI 程序 要创建一个图形用户界面,首先需要创建一个特殊的窗口来容纳用户界面组件。 1、Java语言中,这个特殊的窗口一般是一个应用程序框架或applet。即选定顶层容器,如JFrame, JApplet, JDialog,JWindow等。 2、然后在这个窗口里: 声明和添加组件。组件包括按钮,菜单以及选项等。开发人员可以扩展这些类,增加自己的设计需求。 设置组件。设置必要的字体,颜色,位置,外观等。 3、把组件加到中间层容器中及管理布局。容器的主要作用是在屏幕上显示出一系列控件。 4、实现事件处理程序,以便响应点击按钮,窗口缩放以及其他活动等。 5.1 创建应用程序框架 ——GUI程序编程步骤1 首先创建一个应用程序窗口可供放置组件。如:JFrame,JDialog,JApplet… JFrame的构造方法: public JFrame() //创建一个没有标题的框架 public JFrame(String title) //创建一个带有指定标题的框架 (如果使用eclipse 插件VE,这一步自动生成) JFrame类常用方法: public Container getContentPane() public void setDefaultCloseOperation(int operation) 参数operation取以下4个常量之一:DO_NOTHING_ON_CLOSE、HIDE_ON_CLOSE、DISPOSE_ON_CLOSE、EXIT_ON_CLOSE void set

文档评论(0)

1亿VIP精品文档

相关文档