JComponent 类 --
一, 概述
JComponent类 是所有轻量级组件的父类
二, JComponent的常用子类清单
--------------------------------------
JButton 按钮, 可以带图标
JTree 树
JComboBox 组合框
JCheckBox 复选框
JFileChooser 文件选择器
JInternalFrame 内部窗体
JLabel 标签
JMenu 菜单对象
JMenuBar 菜单条
JPanel 面板
JPasswordField 密码文本框
JPopupMenu 弹出式菜单
JProgressBar 进程条
JScrollBar 滚动条
JTextArea 文本区
JTable 表格
JSplitPane 拆分窗格
JToolTip 工具提示
JToolBar 工具条
JTextPane 文本窗格
JRadioButton 单选按钮
JScrollPane 滚动窗格
JSlider 滚动条
三, 特性(功能)
如图, JComponent类的功能图
1, Tool tips
import javax.swing.*;
public class ShowButton
{
public static void main(String[] args)
{
// 创建 顶层容器, 容纳中间容器
JFrame frame = new JFrame( "This is a test window" );
frame.setSize( 300, 200 );
// 创建 中间容器, 容纳基本组件
JPanel panel = new JPanel();
// 将 中间容器(panel) 放入 顶层容器(frame)
frame.setContentPane( panel );
// 创建 基本组件
JButton button = new JButton( "I'm a button" );
// 将基本组件 放入 中间容器
panel.add( button );
// 设置 顶层容器可见
frame.setVisible( true );
}
}
2, 绘画 和 边框
1) 概述
当一个 swing 的GUI需要绘制自身时,
绘制将从需要绘制的最顶层组件开始,依据层次关系绘制.
这个过程是由AWT绘制系统来操作的,
并且通过swing重新绘制管理器等来最终完成.
每一个JComponent可以有一个或多个边框.
边框本身不是组件, 但是它们知道如何绘制swing组件的边界.
不仅可以绘制线条和边界, 还可提供标题和组件周围的空白控件.
在一个JComponent周围设置边框,
可使用setBorder方法, 也可以使用BorderFactory
2) 举例
import javax.swing.*;
import java.awt.Color;
/** 设置按钮组件的边框 */
public class BorderDemo
{
public static void main(String[] args)
{
// 顶层容器
JFrame jFrame = new JFrame( "按钮边框演示" );
jFrame.setSize( 300, 200 );
jFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
// 中间容器, 内容面板
JPanel contentPane = new JPanel();
jFrame.setContentPane( contentPane );
// 基本组件, 按钮
JButton okButton = new JButton( "确定" );
JButton cancelButton = new JButton( "取消" );
contentPane.add( okButton );
contentPane.add( cancelButton );
// 设置 "确定" 按钮的 边框
okButton.setBorder( BorderFactory.createLineBorder( Color.red ) );
jFrame.setVisible( true );
}
}
3, 可插入的观感器
所谓可插入的观感的支持,
就是可以定制自己的桌面,更换新的颜色方案, 让窗口系统适应用于的习惯和需要.
这种机制使得界面可以显示出不同的风格.
swing提供了一些成形的观感, 如 默认 Motif Windows的L&F
一个程序必须有外观感觉,
如果程序代码里没有指定, 系统将选择Java的外观感觉.
4, 自定义属性
5, layout 支持
6, 无障碍
7, 拖拽支持
8, 双缓冲
9, 键绑定