swing整理

来源:互联网 发布:石家庄java招聘 编辑:程序博客网 时间:2024/05/04 19:53

JFrame – java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭。

JLabel – JLabel 对象可以显示文本、图像或同时显示二者。可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐。默认情况下,标签在其显示区内垂直居中对齐。默认情况下,只显示文本的标签是开始边对齐;而只显示图像的标签则水平居中对齐。

JTextField –一个轻量级组件,它允许编辑单行文本。

JPasswordField – 允许我们输入了一行字像输入框,但隐藏星号(*) 或点创建密码(密码)

JButton – JButton 类的实例。用于创建按钮类似实例中的 "Login"。

JDialog对话框。在Swing中,有两个对话框类,它们是JDialog类和JOptionPane类。JDialog类提供构造并管理通用对话框,作为对话框的基类。对话框与一般窗口不同,对话框依赖其他窗口,当它所依赖的窗口消失或最小化时,对话框也将消失;窗口还原时,对话框又会自动恢复。JDialog对象也是一种容器,因此也可以给JDialog对话框指派布局管理器,对话框的默认布局为BoarderLayout布局。但组件不能直接加到对话框中,对话框也包含一个内容面板,应当把组件加到JDialog对象的内容面板中。由于对话框依赖窗口,因此要建立对话框,必须先要创建一个窗口。JDialog的构造方法有很多,这里列举最具代表性的一个,JDialog(JFrame f,String s,boolean b),构造一个标题为s,初始化不可见的对话框。参数f设置对话框所依赖的窗口,参数b决定对话框是否强制或非强制型,强制意味着禁止其他窗口输入。

JPanel:最普通的面板,没有特殊功能,主要用来容纳其它控件。

JScrollPane:滚动面板,即带有长宽滚动条,主要用来容纳大型控件。

JToolBar:工具栏面板,包含图标按钮。可以在程序的主窗口之外浮动或是托拽。

JSplitPane:分割式面板。

JTabbedPane:选项卡面板。

JLayeredPane:分层窗口,允许组件在需要时互相重叠。

按钮:JButton(常规按钮)、JCheckBox(复选框)、JRadioButton(单选按钮)。

文本组件:JTextField(文本字段)、JPasswoordField(密码框)、JTextArea(纯文本)。

不可编辑显示组件:JLabel(显示不可编辑文本)、JToolTip(显示不可编辑文本)、JProgreesBar(进度条)。

菜单:JMenu(普通菜单)、JPopupMenu(弹出式菜单)。

其他组件:JFileChooser(文件选择器)、JColorChooser(颜色选择器)、JTable(表格)、JTree(树)、JComboBox(下拉框)等等。

布局:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayout。JPanel缺省是初始化一个FlowLayout,而content pane缺省是初始化一个BorderLayout。

FlowLayout类是最简单的布局管理器,它按照从左到右的顺序安排组件,直至没有多余的空间,然后转到下一行。

BorderLayout对象将界面分成五大区域,分别用BorderLayout类的静态常量指定:PAGE_START(上)、PAGE_END(下)、LINE_START(中左)、LINE_END(中右)、CENTER(中间)。

BoxLayout可以将组件由上至下或由左至右依次加入当前面板。

CardLayout卡片布局和其他布局不同,因为它隐藏了一些组件。卡片布局就是一组容器或者组件,它们一次仅仅显是一个,组中的每个容器称为卡片。

GridLayout表格,当组件加入时,会依序由左至右,由上至下填充到每个格子。

GridBagLayout功能最为强大,可以管理大小不同的行和列,可以任意摆放组件。

可以设置布局为null来进行绝对布局,但它不能实现跨平台。

JTable:getSelectedRow(),JTable的getValueAt(int row,int columns)

给按钮加事件:

JButton.addActionListener(newActionListener(){

       Public void actionPerformed(ActionEvente){

              //处理业务逻辑…

}

});

给文本框加获取焦点事件:

JTextField.addFocusListener(newFocusListener(){

       Public void focusGained(FocusEvent e){

              //处理业务逻辑…

}

});




0 0
原创粉丝点击