Swing学习1——总体概述

时间:2024-05-21 12:03:32

以下来自于JDK1.6

一、Swing学习我划分为两个方面:

    一方面Swing的界面设计部分,包括相关组件类的继承关系,组件的功能用途,布局管理;

     1.首先继承关系上自上而下为

      java.lang.Object

        java.awt.Component

          java.awt.Container

            javax.swing.JComponent(窗体中的各种组件工具类继承自此类,与AWT组件结构大部分相同)

            java.awt.Window

              javax.swing.JWindow(窗口)

              java.awt.Frame

                javax.swing.JFrame(框架)

              java.awt.Dialog

                javax.swing.JDialog(对话框)

         Window下包含了三种顶层容器:顶层容器一共四种:JFrame(框架),JDialog(对话框),JWindow(窗口),和JApplet(JApplet与Java中Applet程序有关几乎已弃用)。

                          顶层容器分为四层自上而下为glass pane(玻璃面板),content pane(内容面板)和meun bar(菜单栏),

                          layered pane(分层面板),root pane(根面板),其中简单界面设计主要设计内容面板和菜单栏这一层次。

      JComponent下包含了各种容器的组件以及

            八种中间容器:JPanel(面板),JScrollPanel(滚动面板),JOptionPane,JSplitPane,JTabbedPane,JInternalFrame,JToolBar(直接继承自Component)

                    JDesktopPane(直接继承自JLayeredPane,间接继承Component)

                   中间容器注解:中间容器的作用容纳组件

            两种特殊容器:JLayeredPane(分层面板,容纳内部框架),JRootPane(根框架),(有且仅有的两个特殊容器继承自Component)

      2.组件的功能用途

       JButton等此处暂不写了,有兴趣的可以查看API

     3.常用布局管理器

      绝对布局:首先用Container.setLayout(null)取消默认布局管理器

            然后用Component的setBounds(int x,int y,int width,int height)方法设置每个组件大小及位置即可。

      流布局管理器(FlowLayout)

      边界布局管理器(BorderLayout):在不指定窗体布局的情况下,默认Swing组件的布局模式为边界布局管理器

      网格布局管理器(GridLayout)

  第二部分关于事件处理的,后续补充