swing容器
一、 swing组件和容器概览1.顶层容器(JFrame,JDialog,JApplet) JFrame—框架,主要用来设计应用程序的图像界面 JDialog—对话框,通常用来设计具有依赖关系的窗口 JApplet—小应用程序,主要用来设计嵌入网页中运行的java程序2.一般容器 普通容器(JP
·
一、 swing组件和容器概览
1.顶层容器(JFrame,JDialog,JApplet)
JFrame—框架,主要用来设计应用程序的图像界面
JDialog—对话框,通常用来设计具有依赖关系的窗口
JApplet—小应用程序,主要用来设计嵌入网页中运行的java程序
2.一般容器
普通容器(JPanel、JScrollPane、JToolbar、JSplitPane、JTabbedPane)
JPanel—面板,通常只有背景颜色的普通容器
JScrollPane—滚动窗格,具有滚动条
JToolbar—工具条,通常将多个组件排成一排或者一列
JSplitPane—分裂窗格,用来装两个组件的容器
JTabbedPane—选项卡窗格,允许多个组件共享相同的界面空间
专用容器(JLayeredPane、JRootPane 、JInternalFrame)
JLayeredPane—分层窗格,给窗格增加了深度的概念
JRootPane—根窗格,一般是自动创建的容器
JInternalFrame—内部窗格,可以在一个窗口内显示若干个类似于框架的窗口
3.基本控件
(JButton、JCombobox、JList、JMenu、JSlider、JTextField)
4.不可编辑信息组件
(JLabel、JProgressBar、JToolTip等)
5.可编辑组件
(JColorChooser、JFileChooser、Jtabel、JTextArea、JTree等)
二、 常用的swing组件和容器
1.JFrame
2 顶层容器,默认不可见;默认布局方式为BorderLayout
2 构造函数:
l JFrame()
l JFrame(String title)//title 为框架的标题内容
2 JFrame常用方法
l setDefaultCloseOperation(int operation)—设置关闭框架的行为
参数operation一般是JFrame. EXIT_ON_CLOSE,表示关闭框架时,则退出程序
l setSize(int width, int height)— 设置框架的大小
l setVisible(boolean b)—设置框架是否可见,默认为false
l getContentPane()—获取顶层容器的内容面板
l add(Component comp)—往内容面板添加组件
l setLayout(LayoutManager mgr)—设置布局方式,默认为BorderLayout
example:JDialog 和 JOptionPane的demo
2.JDialog 和 JOptionPane
a) JDialog
2 在已有的窗口上创建对话框,可以使用此类创建自定义的对话框
2 构造函数:
JDialog(Dialogowner,Stringtitle, boolean modal)
JDialog(Frameowner,Stringtitle, boolean modal)
参数:owner—指定对话框的父窗口
title—对话框的标题
modal—对话框的模式(true为“有模式对话框”,false为“无模式对话框”
2 JDialog常用方法
n setSize(int width, int height)— 设置对话框的大小
n getContentPane()—获取顶层容器的内容面板
n add(Component comp)—往内容面板添加组件
n setLayout(LayoutManager mgr)—设置布局方式,默认为BorderLayout
b) JOptionPane
2 提供一些现成的、各种常用的标准对话框(有模式的对话框)
2JOptionPane类里静态方法众多,但几乎所有静态方法都遵循showXxxDialog()的形式,如下:
方法名
描述
showConfirmDialog()
显示确认对话框
showInputDialog()
显示输入文本对话框
showMessageDialog()
显示信息对话框
showOptionDialog()
显示选择性的对话框
这四种方法的参数都遵循一致的模式:
①ParentComponent:指示对话框的父窗口对象,一般为当前窗口。也可以为null即采用缺省的Frame作 为父窗口,此时对话框将设置在屏幕的正中。
②message:指示要在对话框内显示的描述性的文字
③String title:窗口标题
④Component:在对话框内要显示的组件(如按钮)
⑤Icon:在对话框内要显示的图标
⑥messageType:定义 message 的样式,一般可以为如下的值
n ERROR_MESSAGE
n INFORMATION_MESSAGE
n WARNING_MESSAGE
n QUESTION_MESSAGE
n PLAIN_MESSAGE
⑦ optionType:定义在对话框的底部显示的选项按钮的集合。一般可以为
n DEFAULT_OPTION
n YES_NO_OPTION
n YES_NO_CANCEL_OPTION
n OK_CANCEL_OPTION。
2 当showXxxDialog 方法返回整数时,可能的值为:
n YES_OPTION
n NO_OPTION
n CANCEL_OPTION
n OK_OPTION
n CLOSED_OPTION
3.JLabel
2 构造函数;
n JLabel()
n JLabel(String text)
n JLabel(Icon image)
n JLabel(String text, Icon icon, int horizontalAlignment)
其中参数text为JLabel的文字信息,image为JLabel的图标,horizontalAlignment为文字与图标在水平方向上的对齐方式,常见的取值有常量 JLabel.LEFT(左对齐),JLabel.CENTER(中对齐), JLabel.RIGHT(右对齐),
2 JLabel常用方法:
n setText(String text)—设置文字信息
n setIcon(Icon image)—设置JLabel的图标
n setHorizontalAlignment(int alignment)—设置文字与图标在水平方向的对齐方式
n setVerticalAlignment(int alignment)—设置文字与图标在竖直方向的对齐方式
n setToolTipText(String text)—在JLabel上停留时出现的提示信息
4.JTextField 和 JPasswordField
2 都是用来编辑单行文本,JTextField可以直接看到输入的字符,JPasswordField将输入的字符表示成”*”
2 构造函数:
JTextField()
JPasswordField()
JTextField(String text)
JPasswordField(String text)
JTextField(int columns)
JPasswordField(int columns)
JTextField(String text, int columns)
JPasswordField(String text, int columns)
参数text指定文本编辑框显示的初始文本,columns为文本编辑框的宽度(大于0)。
2 常用方法:
getText()—获取编辑框的文本信息(String 类型)
setText(String text)—设置文本信息
setEditable(boolean b)—设置是否可编辑
5.JButton、JCheckBox(复选框)和JRadioButton(单选按钮)
2 触击式组件(单击这三个组件,都能触发特定的的事件。)
JButton——命令式事件 ·
JCheckBox、JRadioButton—选择状态发生变化
2 构造函数:
JButton()
JButton(Icon icon)
JButton(String text)
JButton(Stringtext,Iconicon)
JCheckBox()
JRadioButton()
JCheckBox(Stringtext,Iconicon, boolean selected)
JRadioButton(Stringtext,Iconicon, boolean selected)
参数text为指定组件显示的文本信息,icon为指定组件的图标,selected指定组件是否被选中
2 JCheckBox、JRadioButton常用方法:
setSelected(boolean b)—设置组件的选中状态
isSelected()—判断组件时否被选中
2 与ButtonGroup对象配合使用可创建一组按钮,一次只能选择其中的一个按钮。ButtonGroup提供的一个空的构造方法,使用成员方法add(AbstractButton b)添加单选按钮( JRadioButton是AbstractButton的子类)
2 如果需要把多个JRadioButton排成一排或者一列,可以创建一个布局为GridLayout或者BoxLayout的JPanel。
如:JPanel jpanel = new JPanel(new GridLayout(0,1));//排成一列
jpanel.add(JRadioButton);
6.JComboBox(组合框),JList,JTextArea和JScrollPane
2 用于显示多行文本的组件
(一) JComboBox(组合框)
2 构造函数:
JComboBox(Object[] items)
参数items为组合框的各个选项
2 常用方法:
setEditable(boolean aFlag)—设置组合框是否可以自行输入一行文本信息,默认为false。当为false时,只能选择组合框中的某个选项
setMaximumRowCount(int count)—设置显示的最大行数
setSelectedIndex(int anIndex)—选择索引第anIndex+1处的选项
getSelectedIndex()—返回列表中与给定项匹配的第一个选项的下标值
getSelectedItem()—返回当前所选项。
getSelectedObjects()—返回包含所选项的数组。
(二) JList(列表框)
2 构造函数:
JList(Object[] listData)
参数listData为列表框的各个选项
2 常用方法:
setSelectionMode(int selectionMode)—设置列表的选择模式。
selectionMode常为以下常数:
ListSelectionModel.SINGLE_SELECTION- 一次只能选择一个列表选项
ListSelectionModel.SINGLE_INTERVAL_SELECTION- 一次只能选择一个连续间隔
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION –一次可选择一个或多个选项。此模式是默认设置。
setSelectedIndex(int index)—设置被选中的选项
getSelectedIndex()—返回最小的选择单元的索引
(三) JTextArea (文本区域)
2 构造函数;
JTextArea(Stringtext, int rows, int columns)
构造具有指定文本text、rows行columns列的 TextArea
7.菜单编写
2 相关的类:
通过JMenuBar类(利用setJMenuBar()方法加入窗口中)
JMenu(级联)
JMenuItem(菜单项目)
JCheckBoxMenuItem(选择性的菜单项目)
JRadioButtonMenuItem(选择性的菜单项目(圆点))。
2 编程要点:
a)、产生快捷键
mnuFileNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));//快捷键alt+1
b)、添加分割条
mnuFile.addSeparator();
c)、给菜单加上图标
mnuFileNew.setIcon(newImageIcon("new.gif"));
d)、给菜单加上助记符
mnuFile.setMnemonic('F'); //alt+F
e)、要使得多个JRadioButtonMenuItem项目产生单选的效果,可以将它们放入一个ButtonGroup组件中;否则为多选效果
2 example:MenuLookDemo
8.工具条JToolBar
2 在Swing中的窗口工具条是由JToolBar来实现,它也是一种容器并按照行或列对组件(它们一般为按钮)进行分组。
2 缺省时为水平方向但可以使用SwingConstants. HORIZONTAL或者SwingConstants. VERTICAL来设置其方向。
2 构造函数:
n JToolBar() 创建出水平方向的工具条(缺省为HORIZONTAL)。
n JToolBar(int orientation) 创建出指定方向的工具条。
n JToolBar(String name) 创建出指定名称的工具条。
n JToolBar(String name, int orientation) 创建出指定方向和名称的工具条。
2 工具条上的工具按钮的事件编程:
类似于一般的按钮事件编程,可以分别为各个不同的按钮单独进行事件编程。
2 编程方法:
n 创建出JToolBar对象
n 然后采用add(Object)方法将组件(可以为按钮或其它组件)加入到工具条中。
n 最后再将工具条加入到内容面板中
example:ToolBarDemo
9. JTabbedPane(选项卡窗格)
2 特性:它表现为一组文件夹页,每个文件夹都有标题(如下)
2 其内的每个页面为一个JPanel类或者其子类的对象
2 构造函数:
public JTabbedPane(int tabPlacement, int tabLayoutPolicy)
其中Tabplacement可以是:
2 JTabbedPane.TOP(表头在上面)
2 JTabbedPane.BOTTOM(表头在下面)
2 JTabbedPane.LEFT(表头在左面)
2 JTabbedPane.RIGHT(表头在右面)。
TablayoutPolicy可以是
2 JTabbedPane.WRAP_TAB_LAYOUT(表头不产生SCROLL效果)
2 JTabbedPane.SCROLL_TAB_LAYOUT(表头产生SCROLL效果)
2 编程方法:
创建出JTabbedPane类的对象;
l 调用addTab()方法加入一个页面组件(JPanel或其子类);
l 最后将JTabbedPane类的对象加入到顶级容器的ContentPane中。
1.顶层容器(JFrame,JDialog,JApplet)
JFrame—框架,主要用来设计应用程序的图像界面
JDialog—对话框,通常用来设计具有依赖关系的窗口
JApplet—小应用程序,主要用来设计嵌入网页中运行的java程序
2.一般容器
普通容器(JPanel、JScrollPane、JToolbar、JSplitPane、JTabbedPane)
JPanel—面板,通常只有背景颜色的普通容器
JScrollPane—滚动窗格,具有滚动条
JToolbar—工具条,通常将多个组件排成一排或者一列
JSplitPane—分裂窗格,用来装两个组件的容器
JTabbedPane—选项卡窗格,允许多个组件共享相同的界面空间
专用容器(JLayeredPane、JRootPane 、JInternalFrame)
JLayeredPane—分层窗格,给窗格增加了深度的概念
JRootPane—根窗格,一般是自动创建的容器
JInternalFrame—内部窗格,可以在一个窗口内显示若干个类似于框架的窗口
3.基本控件
(JButton、JCombobox、JList、JMenu、JSlider、JTextField)
4.不可编辑信息组件
(JLabel、JProgressBar、JToolTip等)
5.可编辑组件
(JColorChooser、JFileChooser、Jtabel、JTextArea、JTree等)
二、 常用的swing组件和容器
1.JFrame
2 顶层容器,默认不可见;默认布局方式为BorderLayout
2 构造函数:
l JFrame()
l JFrame(String title)//title 为框架的标题内容
2 JFrame常用方法
l setDefaultCloseOperation(int operation)—设置关闭框架的行为
参数operation一般是JFrame. EXIT_ON_CLOSE,表示关闭框架时,则退出程序
l setSize(int width, int height)— 设置框架的大小
l setVisible(boolean b)—设置框架是否可见,默认为false
l getContentPane()—获取顶层容器的内容面板
l add(Component comp)—往内容面板添加组件
l setLayout(LayoutManager mgr)—设置布局方式,默认为BorderLayout
example:JDialog 和 JOptionPane的demo
2.JDialog 和 JOptionPane
a) JDialog
2 在已有的窗口上创建对话框,可以使用此类创建自定义的对话框
2 构造函数:
JDialog(Dialogowner,Stringtitle, boolean modal)
JDialog(Frameowner,Stringtitle, boolean modal)
参数:owner—指定对话框的父窗口
title—对话框的标题
modal—对话框的模式(true为“有模式对话框”,false为“无模式对话框”
2 JDialog常用方法
n setSize(int width, int height)— 设置对话框的大小
n getContentPane()—获取顶层容器的内容面板
n add(Component comp)—往内容面板添加组件
n setLayout(LayoutManager mgr)—设置布局方式,默认为BorderLayout
b) JOptionPane
2 提供一些现成的、各种常用的标准对话框(有模式的对话框)
2JOptionPane类里静态方法众多,但几乎所有静态方法都遵循showXxxDialog()的形式,如下:
方法名
描述
showConfirmDialog()
显示确认对话框
showInputDialog()
显示输入文本对话框
showMessageDialog()
显示信息对话框
showOptionDialog()
显示选择性的对话框
这四种方法的参数都遵循一致的模式:
①ParentComponent:指示对话框的父窗口对象,一般为当前窗口。也可以为null即采用缺省的Frame作 为父窗口,此时对话框将设置在屏幕的正中。
②message:指示要在对话框内显示的描述性的文字
③String title:窗口标题
④Component:在对话框内要显示的组件(如按钮)
⑤Icon:在对话框内要显示的图标
⑥messageType:定义 message 的样式,一般可以为如下的值
n ERROR_MESSAGE
n INFORMATION_MESSAGE
n WARNING_MESSAGE
n QUESTION_MESSAGE
n PLAIN_MESSAGE
⑦ optionType:定义在对话框的底部显示的选项按钮的集合。一般可以为
n DEFAULT_OPTION
n YES_NO_OPTION
n YES_NO_CANCEL_OPTION
n OK_CANCEL_OPTION。
2 当showXxxDialog 方法返回整数时,可能的值为:
n YES_OPTION
n NO_OPTION
n CANCEL_OPTION
n OK_OPTION
n CLOSED_OPTION
3.JLabel
2 构造函数;
n JLabel()
n JLabel(String text)
n JLabel(Icon image)
n JLabel(String text, Icon icon, int horizontalAlignment)
其中参数text为JLabel的文字信息,image为JLabel的图标,horizontalAlignment为文字与图标在水平方向上的对齐方式,常见的取值有常量 JLabel.LEFT(左对齐),JLabel.CENTER(中对齐), JLabel.RIGHT(右对齐),
2 JLabel常用方法:
n setText(String text)—设置文字信息
n setIcon(Icon image)—设置JLabel的图标
n setHorizontalAlignment(int alignment)—设置文字与图标在水平方向的对齐方式
n setVerticalAlignment(int alignment)—设置文字与图标在竖直方向的对齐方式
n setToolTipText(String text)—在JLabel上停留时出现的提示信息
4.JTextField 和 JPasswordField
2 都是用来编辑单行文本,JTextField可以直接看到输入的字符,JPasswordField将输入的字符表示成”*”
2 构造函数:
JTextField()
JPasswordField()
JTextField(String text)
JPasswordField(String text)
JTextField(int columns)
JPasswordField(int columns)
JTextField(String text, int columns)
JPasswordField(String text, int columns)
参数text指定文本编辑框显示的初始文本,columns为文本编辑框的宽度(大于0)。
2 常用方法:
getText()—获取编辑框的文本信息(String 类型)
setText(String text)—设置文本信息
setEditable(boolean b)—设置是否可编辑
5.JButton、JCheckBox(复选框)和JRadioButton(单选按钮)
2 触击式组件(单击这三个组件,都能触发特定的的事件。)
JButton——命令式事件 ·
JCheckBox、JRadioButton—选择状态发生变化
2 构造函数:
JButton()
JButton(Icon icon)
JButton(String text)
JButton(Stringtext,Iconicon)
JCheckBox()
JRadioButton()
JCheckBox(Stringtext,Iconicon, boolean selected)
JRadioButton(Stringtext,Iconicon, boolean selected)
参数text为指定组件显示的文本信息,icon为指定组件的图标,selected指定组件是否被选中
2 JCheckBox、JRadioButton常用方法:
setSelected(boolean b)—设置组件的选中状态
isSelected()—判断组件时否被选中
2 与ButtonGroup对象配合使用可创建一组按钮,一次只能选择其中的一个按钮。ButtonGroup提供的一个空的构造方法,使用成员方法add(AbstractButton b)添加单选按钮( JRadioButton是AbstractButton的子类)
2 如果需要把多个JRadioButton排成一排或者一列,可以创建一个布局为GridLayout或者BoxLayout的JPanel。
如:JPanel jpanel = new JPanel(new GridLayout(0,1));//排成一列
jpanel.add(JRadioButton);
6.JComboBox(组合框),JList,JTextArea和JScrollPane
2 用于显示多行文本的组件
(一) JComboBox(组合框)
2 构造函数:
JComboBox(Object[] items)
参数items为组合框的各个选项
2 常用方法:
setEditable(boolean aFlag)—设置组合框是否可以自行输入一行文本信息,默认为false。当为false时,只能选择组合框中的某个选项
setMaximumRowCount(int count)—设置显示的最大行数
setSelectedIndex(int anIndex)—选择索引第anIndex+1处的选项
getSelectedIndex()—返回列表中与给定项匹配的第一个选项的下标值
getSelectedItem()—返回当前所选项。
getSelectedObjects()—返回包含所选项的数组。
(二) JList(列表框)
2 构造函数:
JList(Object[] listData)
参数listData为列表框的各个选项
2 常用方法:
setSelectionMode(int selectionMode)—设置列表的选择模式。
selectionMode常为以下常数:
ListSelectionModel.SINGLE_SELECTION- 一次只能选择一个列表选项
ListSelectionModel.SINGLE_INTERVAL_SELECTION- 一次只能选择一个连续间隔
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION –一次可选择一个或多个选项。此模式是默认设置。
setSelectedIndex(int index)—设置被选中的选项
getSelectedIndex()—返回最小的选择单元的索引
(三) JTextArea (文本区域)
2 构造函数;
JTextArea(Stringtext, int rows, int columns)
构造具有指定文本text、rows行columns列的 TextArea
7.菜单编写
2 相关的类:
通过JMenuBar类(利用setJMenuBar()方法加入窗口中)
JMenu(级联)
JMenuItem(菜单项目)
JCheckBoxMenuItem(选择性的菜单项目)
JRadioButtonMenuItem(选择性的菜单项目(圆点))。
2 编程要点:
a)、产生快捷键
mnuFileNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));//快捷键alt+1
b)、添加分割条
mnuFile.addSeparator();
c)、给菜单加上图标
mnuFileNew.setIcon(newImageIcon("new.gif"));
d)、给菜单加上助记符
mnuFile.setMnemonic('F'); //alt+F
e)、要使得多个JRadioButtonMenuItem项目产生单选的效果,可以将它们放入一个ButtonGroup组件中;否则为多选效果
2 example:MenuLookDemo
8.工具条JToolBar
2 在Swing中的窗口工具条是由JToolBar来实现,它也是一种容器并按照行或列对组件(它们一般为按钮)进行分组。
2 缺省时为水平方向但可以使用SwingConstants. HORIZONTAL或者SwingConstants. VERTICAL来设置其方向。
2 构造函数:
n JToolBar() 创建出水平方向的工具条(缺省为HORIZONTAL)。
n JToolBar(int orientation) 创建出指定方向的工具条。
n JToolBar(String name) 创建出指定名称的工具条。
n JToolBar(String name, int orientation) 创建出指定方向和名称的工具条。
2 工具条上的工具按钮的事件编程:
类似于一般的按钮事件编程,可以分别为各个不同的按钮单独进行事件编程。
2 编程方法:
n 创建出JToolBar对象
n 然后采用add(Object)方法将组件(可以为按钮或其它组件)加入到工具条中。
n 最后再将工具条加入到内容面板中
example:ToolBarDemo
9. JTabbedPane(选项卡窗格)
2 特性:它表现为一组文件夹页,每个文件夹都有标题(如下)
2 其内的每个页面为一个JPanel类或者其子类的对象
2 构造函数:
public JTabbedPane(int tabPlacement, int tabLayoutPolicy)
其中Tabplacement可以是:
2 JTabbedPane.TOP(表头在上面)
2 JTabbedPane.BOTTOM(表头在下面)
2 JTabbedPane.LEFT(表头在左面)
2 JTabbedPane.RIGHT(表头在右面)。
TablayoutPolicy可以是
2 JTabbedPane.WRAP_TAB_LAYOUT(表头不产生SCROLL效果)
2 JTabbedPane.SCROLL_TAB_LAYOUT(表头产生SCROLL效果)
2 编程方法:
创建出JTabbedPane类的对象;
l 调用addTab()方法加入一个页面组件(JPanel或其子类);
l 最后将JTabbedPane类的对象加入到顶级容器的ContentPane中。
更多推荐
已为社区贡献1条内容
所有评论(0)