Swing提交按钮组件

Swing中的提交按钮(JButton)由JButton对象表示,其构造方法主 要有以下几种形式:

  • public JButton()。
  • public JButton(String text)。
  • public JButton(Icon icon)。
  • public JButton(String text,Icon icon)。

通过使用上述构造方法,在Swing按钮上不仅能显示文本标签,还 可以显示图标。上述构造方法中的第一个构造方法可以生成不带任何文 本组件的对象和图标,可以在以后使用相应方法为按钮设置指定的文本 和图标;其他构造方法都在初始化时指定了按钮上显示的图标或文字。

下面来看一个例子,在设置的窗体中指定了一个同时带文字与图标 的按钮。

【例】在项目中新建JButtonTest类,该类继承JFrame类成为窗 体组件,在该窗体中创建按钮组件,并为按钮设置图标,添加动作监听 器。本实例关键代码如下:

package com.lzw;

import java.awt.*;
import java.awt.event.*;
import java.net.*;

import javax.swing.*;

public class JButtonTest extends JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public JButtonTest() {
		URL url = JButtonTest.class.getResource("imageButtoo.jpg");
		Icon icon = new ImageIcon(url);
		setLayout(new GridLayout(3, 2, 5, 5)); // 设置网格布局管理器
		Container c = getContentPane(); // 创建容器
		for (int i = 0; i < 5; i++) {
			// 创建按钮,同时设置按钮文字与图标
			JButton J = new JButton("button" + i, icon);
			c.add(J); // 在容器中添加按钮
			if (i % 2 == 0) {
				J.setEnabled(false); // 设置其中一些按钮不可用
			}
		}
		JButton jb = new JButton(); // 实例化一个没有文字与图片的按钮
		jb.setMaximumSize(new Dimension(90, 30)); // 设置按钮与图片相同大小
		jb.setIcon(icon); // 为按钮设置图标
		jb.setHideActionText(true);
		jb.setToolTipText("图片按钮"); // 设置按钮提示为文字
		jb.setBorderPainted(false); // 设置按钮边界不显示
		jb.addActionListener(new ActionListener() { // 为按钮添加监听事件
					public void actionPerformed(ActionEvent e) {
						// 弹出确认对话框
						JOptionPane.showMessageDialog(null, "弹出对话框");
					}
				});
		c.add(jb); // 将按钮添加到容器中
		
		setTitle("创建带文字与图片的按钮");
		setSize(350, 150);
		setVisible(true);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	}
	
	public static void main(String args[]) {
		new JButtonTest();
	}
}
按钮组件的应用
按钮组件的应用

在本实例中使用了两种方式创建按钮:第一种方式是在初始化按钮 时赋予按钮图标与文字;另一种方式是首先创建一个没有定义图标和文 字的按钮对象,然后使用setIcon()方法为这个按钮定制一个图标,其中setToolTipText()方法是为按钮设置提示文字,setBorderPainted()方法设 置按钮边界是否显示。最后为该按钮定制了一个鼠标单击事件,实现当 用户单击该按钮时弹出提示对话框的功能。这里值得注意的一点是,使 用setMaximumSize()方法设置按钮的大小与图标的大小一致,该方法需 要的参数类型为Dimension类对象,这样看上去此图片就如同按钮一样 摆放在窗体中,同时也可以使用setEnabled()方法设置按钮是否可用。

说明:上述这些设置按钮属性的方法多来自JButton的父类AbstractButton 类,这里只是简单列举了几个常用的方法,读者如果有需要可以查询 Java API,使用自己需要的方法实现相应的功能。

发表评论