201671010145 2016-2017《Java程序设计》Java图形界面——Swing包中的常用类

Java可以使用类库中一组被称为Swing的包来构建图形用户界面,本篇整理了Swing包种常用的组件类。

要使用Swing包,可以再代码中导入整个包:

import javax.swing.*;

 

要创建Swing应用程序,主方法所在的类要继承JFrame类,JFrame类中包含了用户界面上的标题栏,最小化最大化和关闭按钮等基本元素。主方法所在类要在构造函数中调用父类的构造函数,指定标题,高宽(或者使用pack()方法自适应),决定用户关闭窗口时应用程序如何响应,显示框架内容。

常用的方法包括setSize,setTitle,setVisible,setBounds,setDefaultCloseOperation等等。

可以使用下面的代码来指定Java7中新增的Nimbus外观效果:

UIManager.setLookAndFeel(

“com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel”

);

调用时使用try-catch来防止在不支持Nimbus的环境中出现异常。

 

下面列出了一些常用的组件及常用方法和构造函数,要将组件加入到界面中,必须将他们加入到容器中(使用add(Component)方法),然后显示容器。

JComponent:Swing中组件的超类

常用方法:setEnable(),isEnabled(),setVisible(),isVisible(),setSize(),getSize()

 

JPanel:面板,容器类。

构造函数:JPanel()

常用方法:add(Component)

 

JButton:按钮类,用于定义具有文本和图标的按钮

构造函数:JButton(String),JButton(Icon),JButton(String,Icon)

 

ImageIcon:图标,用于按钮、标签等其他界面元素

构造函数:ImageIcon(String)

 

JLabel:标签,用来包含说明性文本和图标

构造函数:JLabel(String),JLabel(String,int),JLabel(String, Icon, int)

注:int参数由SwingConstants中定义的静态变量LEFT、RIGHT、CENTER来指定其对齐方式。

常用方法:setText(String),setIcon(Icon),getText(),getIcon()

 

JTextComponent:JTextField和JTextArea的超类

常用方法:setEditable(boolean),isEditable(),setText(String),getText(),getSelectedText(),setFont(Font)

 

JTextField:单行文本框,用来处理用户输入

构造函数:JTextField(),JTextField(int),JTextField(String,int)

注:int参数指定文本框宽度,String指定默认字符串。

 

JPasswordField:密码框,JTextField的子类

常用方法:setEchoChar(char)

 

JTextArea:多行文本框

构造函数:JTextArea(int,int),JTextArea(String, int, int)

注:两个int分别指定行数和列数,String指定默认字符串。

常用方法:append(String),insert(String,int),setLineWrap(boolean),setWrapStyleWord(boolean)

注:setWrapStyleWord指定是整个单词换到下一行还是拆开单词将字符换到下一行。

 

JScrollPane:可滚动区域,用来定义带有滚动条的区域

构造函数:JScrollPane(Component),JScrollPane(Component,int, int)

注:Component参数为需要添加滚动条的组件,两个int参数分别定义垂直和水平方向的滚动条显示方式,显示方式由ScrollPaneConstants的静态变量VERTICAL_SCROLLBAR_ALWAYS,VERTICAL_SCROLLBAR_AS_NEEDED和VERTICAL_SCROLLBAR_NEVER定义(水平滚动条换成HORIZONTAL即可。

常用方法:setPreferredSize(Dimension)

 

JToggleButton:JCheckBox和JRadioButton的超类

常用方法:setSelected(boolean),isSelected()

 

JCheckBox:复选框

构造函数:JCheckBox(String),JCheckBox(String,boolean),JCheckBox(Icon),JCheckBox(Icon, boolean)

注:第二个参数用来指定初始情况下按钮是否被选中。

 

JRadioButton:单选框

构造函数:JRadioButton(String),JRadioButton(String,boolean),JRadioButton(Icon),JRadioButton(Icon, boolean)

 

ButtonGroup:按钮组,用来组合多个单选按钮

构造函数:ButtonGroup()

常用方法:add(Component)

 

JComboBox:组合框,用来提供下拉菜单

构造函数:JComboBox(),JComboBox(Object[])

注:如果列表项为文本,则Object[]参数可以提供一个String数组。

常用方法:getItemAt(int),getItemCount(),getSelectedIndex(),getSelectedItem(),setSelectedIndex(int),setSelectedIndex(Object)

 

JList:列表,允许用户选择一个或多个值,与下拉列表不同,列表会显示所有值

构造函数:JList(),JList(Object[]),JList(Vector)

常用方法:setListData(Object[]),setListData(Vector),setVisibleRowCount(int),getSelectedValuesList()

 

JOptionPane:用来创建标准对话框

· 创建确认对话框:showConfirmDialog(Component, Object)

注:Conponent参数指出了包含对话框的容器,如果为null或者不是JFrame对象,则显示在屏幕中央。第二个参数可以使字符串,组件或者Icon,定义了对话框中的主要内容。

重载方法:showConfirmDialog(Component,Object, String, int, int)

注:String定义了标题栏中的字符串,后面的int参数为JOptionPane类中定义的常量YES_NO_CANCEL_OPTION或者YES_NO_OPTION,用来指出显示哪些按钮,最后一个参数为ERROR_MESSAGE、INFORMATION_MESSAGE、PLAIN_MESSAGE、QUESTION_MESSAGE或者WARNING_MESSAGE,决定了消息类型。

· 创建输入对话框:showInputDialog(Component, Object)

注:方法参数和前面的showConfirmDialog方法相同。

方法重载:showInputDialog(Conponent,Object, String, int)

注:String参数为标题栏上的文本,最后的int值为消息类型(见上文)。

· 创建消息对话框:showMessageDialog(Component, Object)

重载方法:showMessageDialog(Component,Object, String, int)

注:方法参数和前面相同。

· 创建选项对话框:showOptionDialog(Component, Object, String, int,int, Icon, Object[], Object)

注:前两个参数与前面相同,第三个String参数为标题文本,第四个int参数为YES_NO_CANCEL_OPTION或者YES_NO_OPTION(如果要使用其他选项,则这个参数传入0),第五个int参数为消息类型(如果要使用其他选项,则这个参数传入0),第六个Icon参数用来指定第五个参数的默认图标,Object[]参数用来指定对话框的选项组件和其他对象(当第四个参数不为YES_NO_CANCEL_OPTION或者YES_NO_OPTION时),最后一个参数用来指定第四个参数不为YES_NO_CANCEL_OPTION或者YES_NO_OPTION时对话框的默认选项。

 

JSlider:滑块,用来通过滑动设置输入值

构造函数:JSlider(int),JSlider(int,int),JSlider(int, int, int),JSlider(int, int, int, int)

注:第一个构造函数int参数用来指定滑块方向,使用SwingConstants中定义的HORIZONTAL或VERTICAL常量来指定,滑块的最小值、最大值以及初始值默认分别为0、100、50。第二个构造函数的两个int参数指定滑块的最小值和最大值,方向默认为水平。第三个构造函数指定滑块的最小值,最大值以及初始值。第四个构造函数指定滑块的方向、最小值、最大值以及初始值。

常用方法:setMajorTickSpacing(int),setMinorTickSpacing(int),setPaintTicks(boolean),setPaintLabels(boolean)

 

JToolBar:工具栏容器,用来将多个组件组织为一行或一列

构造函数:JToolBar(),JToolBar(int)

注:int参数为HORIZONTAL或VERTICAL,用来指定工具栏方向(默认是水平方向)。

 

JProgressBar:进度条,用于显示进度

构造函数:JProgressBar(),JProgressBar(int,int),JProgressBar(int, int, int)

注:第二个构造函数指定进度条的最小值和最大值,第三个指定方向(HORIZONTAL或VERTICAL)和最小值最大值。

常用方法:setMinimum(int),setMaximum(int),setValue(int)

 

JMenuBar:用于包含菜单栏的容器

构造函数:JMenuBar()

常用方法:add(JMenu)

 

JMenu:菜单栏的一个下拉菜单

构造函数:JMenu(String)

常用方法:add(JMenuItem),add(Component),addSeparator(),add(String)

 

JMenuItem:下拉菜单中的一个项

构造函数:JMenuItem(String),JMenuItem(Icon),JMenuItem(String,Icon)

 

JTabbedPane:选项卡,用来定义堆叠在一起的一组面板

构造函数:JTabbedPane(),JTabbedPane(int),JTabbedPane(int,int)

注:第二个构造函数的int参数用来指定布局,可以使用JTabbedPane中顶一个TOP、BOTTOM、LEFT或RIGHT常量来指定标签的显示位置。第三个构造函数第一个为布局参数,第二个滚动策略(即当界面无法容纳全部标签时的策略),可以使用WRAP_TAB_LAYOUT来设置不滚动的选项卡窗格来显示多余的标签,或者使用SCROLL_TAB_LAYOUT来设置使用滚动箭头。

常用方法:addTab(String,Component)

 

posted on 2017-11-29 22:30  赵乾ZQ  阅读(1013)  评论(1编辑  收藏  举报

导航