ITEEDU

swing的版面结构

版面管理器

事件处理

鼠标事件

键盘事件处理

窗口与面板的使用

JInternalFrame的使用(窗口与面板)

JTabbedPane,JScroolPane,JScrolBa的使用

标签与按钮的使用与介绍

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

表格(Table)的使用与介绍

JTable的事件处理

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

树(Tree)的使用与介绍

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

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

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

Slider,Timer,Progress的使用

窗口与面板的使用

4-1-1:JFrame的使用:

类层次结构图:
 java.lang.Object
    --java.awt.Component
    --java.awt.Container
            --java.awt.Window
                --javax.swing.JFrame
结构函数:

JFram()

JFrame(String title)

例子:JFrame1.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JFrame1 implements ActionListener {
	public JFrame1() {
		JFrame f = new JFrame("JFrameDemo");
		/*
		 * 我们要在JFrame中加入其他组件必须取得Content Pane,然后再加入组件到此Content Pane中。
		 * 相对于AWT,若要在AWT中的Frmae加入某一个组件只要直接调用add()方法即可,不需要先取得Content
		 * Pane再加入组件。Swing这样的做法似乎多了一道手续,却带来更强大、更有弹性的
		 * 功能,原因就在于Swing的JFrame具有层次(Layer)的概念,可以让你在JFrame中放入的组件不
		 * 会造成混乱。例如当一个JFrame有按钮(JButton)、菜单(JMenu)、快速菜单(Pop-up menu)、
		 * 工具栏(Toolbar)与工具栏符号提示(Tool tip)时,到底哪个组件应该摆在什么组件上面或
		 * 下面,JFrame都有办法处理。以后我们再讨论这个问题。
		 */
		Container contentPane = f.getContentPane();
		JButton b = new JButton("Click me to get new Window");
		b.addActionListener(this);
		contentPane.add(b);
		f.pack();
		f.show();// 使JFrame变成可看见的(Visible)
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
	}

	public void actionPerformed(ActionEvent e) {
		JFrame newf = new JFrame();// 产生一个没有标题的JFrame
		newf.setSize(200, 200);
		newf.show();
	}

	public static void main(String[] args) {
		new JFrame1();
	}
}