以下来自于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)
第二部分关于事件处理的,后续补充