Java图形界面——Swing包中的常用类

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

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

import javax.swing.*;

 

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

常用的方法包括setSizesetTitlesetVisiblesetBoundssetDefaultCloseOperation等等。

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

UIManager.setLookAndFeel(

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

);

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

 

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

JComponentSwing中组件的超类

常用方法: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中定义的静态变量LEFTRIGHTCENTER来指定其对齐方式。

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

 

JTextComponentJTextFieldJTextArea的超类

常用方法: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_ALWAYSVERTICAL_SCROLLBAR_AS_NEEDEDVERTICAL_SCROLLBAR_NEVER定义(水平滚动条换成HORIZONTAL即可。

常用方法:setPreferredSize(Dimension)

 

JToggleButtonJCheckBoxJRadioButton的超类

常用方法: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_MESSAGEINFORMATION_MESSAGEPLAIN_MESSAGEQUESTION_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中定义的HORIZONTALVERTICAL常量来指定,滑块的最小值、最大值以及初始值默认分别为010050。第二个构造函数的两个int参数指定滑块的最小值和最大值,方向默认为水平。第三个构造函数指定滑块的最小值,最大值以及初始值。第四个构造函数指定滑块的方向、最小值、最大值以及初始值。

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

 

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

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

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

 

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

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

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

常用方法: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中顶一个TOPBOTTOMLEFTRIGHT常量来指定标签的显示位置。第三个构造函数第一个为布局参数,第二个滚动策略(即当界面无法容纳全部标签时的策略),可以使用WRAP_TAB_LAYOUT来设置不滚动的选项卡窗格来显示多余的标签,或者使用SCROLL_TAB_LAYOUT来设置使用滚动箭头。

常用方法:addTab(String,Component)

 

除了上面列出的方法,当然每种组件还有很多其他有用的方法,可以边学习边整理,欢迎补充~

你可能感兴趣的:(Programming,Java,程序设计)