ITEEDU

swing的版面结构

版面管理器

事件处理

鼠标事件

键盘事件处理

窗口与面板的使用

JInternalFrame的使用(窗口与面板)

JTabbedPane,JScroolPane,JScrolBa的使用

标签与按钮的使用与介绍

[复选框、选项按钮、列表方框、下拉式列表的使用与介绍]

表格(Table)的使用与介绍

JTable的事件处理

1文字输入组件的使用与介绍

树(Tree)的使用与介绍

对话框(Option Pane与Dialog)的使用与介绍

菜单与工具栏的使用与介绍

文件选择对话框,颜色选择对话框,分隔线的使用与介绍.

Slider,Timer,Progress的使用

1-3:版面管理器(Layout Menager)

         |BorderLayout
         |FlowLayout
         |GridLayout
  AWT----|CardLayout
         |GridBagLayout

  Swing--|BoxLayout

1-3-1:BorderLayout的使用:

BorderLayout的类层次结构图:
 java.lang.Object
     --java.awt.BorderLayout     

构造函数:BorderLayout()建立一个没有间距的border layout
BorderLayout(int hgap,int vgap)建立一个组件间有间距的border layout

BorderLayout将版面划分为东、西、南、北、中 例子:

BorderLayoutDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class BorderLayoutDemo{
   public BorderLayoutDemo(){
     JFrame f=new JFrame();
        Container contentPane=f.getContentPane();
        contentPane.setLayout(new BorderLayout());	
        contentPane.add(new JButton("EAST"),BorderLayout.EAST);
        contentPane.add(new JButton("WEST"),BorderLayout.WEST);
        contentPane.add(new JButton("SOUTH"),BorderLayout.SOUTH);
        contentPane.add(new JButton("NORTH"),BorderLayout.NORTH);
        contentPane.add(new JLabel("CENTER",JLabel.CENTER),BorderLayout.CENTER);
        f.setTitle("BorderLayout");
        f.pack();
        f.setVisible(true);
        /***read**/
        /*处理关闭窗口的操作,若你没写这一段,就算你已经关闭窗口了,但程序并不会终止。
         */
        f.addWindowListener(
           new WindowAdapter(){
               public void windowClosing(WindowEvent e){
                  System.exit(0);	
               }	
           }	
        );
       /***read**/
   }	
   public static void main(String[] args){
     BorderLayoutDemo b=new BorderLayoutDemo();	
   }
}

设置组件的间距,你可以使用有间距参数的BorderLayout构造函数,也可以利用BorderLayout的setHgap(int hgap)与 setVgap(int vgap)两个方法来达成。