Swing程序设计-初级
java 中的swing虽然已经被淘汰,但作为基础,我们还是需要学习一下,初级主要讲解Swing中的基本元素,包括容器,组件,窗体布局,事件和监听器。
GUI(图形用户界面)为程序提供图形界面,swing组件通常被称为“轻量级组件”,因为其完全由java语言编写,而java是不依赖于操作系统的语言。
1.1 swing中的常用窗体包括JFrame和JDialog
1 public MyFrame() 2 { 3 Container container = getContentPane();//创建一个容器 4 container.setLayout(null);//取消布局管理器设置 5 JLabel jl = new JLabel("这是一个JFrame窗体");//在窗体中设置标签 6 //将标签的文字置于标签中间位置 7 jl.setHorizontalAlignment(SwingConstants.CENTER); 8 container.add(jl);//将标签加入到容器中 9 JButton bl = new JButton("弹出对话框");//定义一个按钮 10 bl.setBounds(10,10,100,21);//定义按钮的大小 11 bl.addActionListener(new ActionListener()//为按钮添加鼠标单击事件 12 { 13 public void actionPerformed(ActionEvent e) 14 { 15 //使MyJDialog窗体可见 16 new MyJDialog(MyFrame.this).setVisible(true); 17 } 18 }); 19 container.add(bl);//将bl按钮加入到容器中 20 container.setBackground(Color.white);//设置容器背景颜色 21 setSize(200, 200);//设置容器大小 22 setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);//代表任何注册监听程序对象后会自动隐藏并释放窗体 23 setVisible(true);//使窗体可见 24 25 } 26
我们可以这样理解,swing组件的窗体通常与组件和容器相关,所以在JFrame对象创建完成后,需要调用getContentPane()方法将窗体转换为容器,然后在容器中添加组件或设置布局管理器,通常,这个容器用来包含和显示组件,如果需要将组件添加至容器,可以使用来自Container类的add()方法。
1.2标签组件与图标的使用
1.3常用的布局管理器
绝对布局:硬性指定组件在容器中的位置和大小,Container.setLayout(null),Component.setBounds();
流布局管理器:从左到右摆放组件,直到占据这一行的所有空间,然后再向下移动一行
边界布局管理器:边界布局管理器可以将容器划分为东,南,西,北,中5个区域,可以将组件加入到这5个区域,容器调用Container类的add()方法添加组件时可以设置此组件在边界布局管理器中的区域,区域的控制可以由BorderLayout类中的成员变量来决定
网格布局管理器:在网格布局管理器中,每一个组件的大小都相同,并且网格中空格的个数由网格的行数和列数决定
1.4 常用面板:面板也是一个Swing容器,它可以作为容器容纳其他组件,但它也必须被添加到其他容器中
JPanel面板:可以聚集一些组件来布局
JScrollPane面板:
是自带滚动条的面板,它也是一种容器,但是JScrollPane只能放置一个组件,并且不可以使用布局管理器
如果需要在JScrollPane面板中放置多个组件,需要将多个组件放置在JPanel面板上,然后将JPanel面板作为 整体组件添加到JScrollPane面板
1.5按钮组件:包括提交按钮,复选框,单选按钮等,这些按钮都是从AbstractButton类中继承而来的
提交按钮组件:既能显示文本标签,还可以显示图标
单选按钮组件:
复选框组件:复选框可以进行多选设置,每一个复选框都提供“选中”与“不选中”两种状态,复选框用JCheckBox的对象表示
列表组件:
列表框组件
1.6文本组件
文本框组件
密码框组件
1.7 常用时间监听器
动作事件监听器
焦点事件监听器