首页 > 编程笔记 > Java笔记 阅读:14

Java Swing JButton按钮的用法(附带实例)

在 Swing 程序设计中,按钮是较为常见的组件,用于触发特定的动作。Swing 提供了多种按钮组件:按钮、单选按钮、复选框等。

Swing 按钮由 JButton 对象表示,JButton 常用的构造方法如下:

创建 JButton 对象后,如果要对 JButton 对象进行设置,则需要使用 JButton 类提供的方法。

JButton 类的常用方法及其说明如下表所示:

表:JButton类的常用方法及其说明
方法 说明
setIcon(Icon defaultIcon) 设置按钮的图标
setToolTipText(String text) 为按钮设置提示文字
setBorderPainted(boolean b) 如果 b 的值为 true 且按钮有边框,那么绘制边框;borderPainted 属性的默认值为 true
setEnabled(boolean b) 设置按钮是否可用。b 的值为 true 时,表示按钮可用;b 的值为 false 时,表示按钮不可用

【实例 1】演示不同效果的按钮。创建 JButtonTest 类,并继承 JFrame 类,在窗体中创建按钮组件,设置按钮的图标,为按钮添加动作监听器。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JButtonTest extends JFrame {
    public JButtonTest() {
        Icon icon = new ImageIcon("src/imageButoo.jpg"); //获取图片文件
        setLayout(new GridLayout(3, 2, 5, 5)); //设置网格布局管理器
        Container c = getContentPane(); //获取主容器
        JButton btn[] = new JButton[6]; //创建按钮数组
        for (int i = 0; i < btn.length; i++) {
            btn[i] = new JButton(); //实例化数组中的对象
            c.add(btn[i]); //将按钮添加到容器中
        }
        btn[0].setText("不可用"); //设置按钮不可用
        btn[0].setEnabled(false); //设置按钮不可用
        btn[1].setText("有背景色");
        btn[1].setBackground(Color.YELLOW);
        btn[2].setText("无边框");
        btn[2].setBorderPainted(false); //设置按钮边框不显示
        btn[3].setText("有边框");
        btn[3].setBorder(BorderFactory.createLineBorder(Color.RED)); //添加红色线型边框
        btn[4].setIcon(icon); //为按钮设置图标
        btn[4].setToolTipText("图片按钮"); //设置鼠标悬停时提示的文字
        btn[5].setText("可单击");
        btn[5].addActionListener(new ActionListener() { //为按钮添加监听事件
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(JButtonTest.this, "点击按钮"); //弹出确认对话框
            }
        });
        setDefaultCloseOperation(EXIT_ON_CLOSE); //设置窗体关闭模式
        setVisible(true); //使窗体可见
        setTitle("创建不同样式的按钮"); //设置窗体标题
        setBounds(100, 100, 400, 200); //设置窗体大小和位置
    }

    public static void main(String[] args) {
        new JButtonTest();
    }
}
运行结果为:


图 1 按钮组件的应用

相关文章