按钮在Swing中是较为常见的组件,用于触发特定动作。Swing中提供多种按钮,包括提交按钮、复选框、单选按钮等,这些按钮都是从AbstractButton类中继承而来。
1.提交按钮组件
Swing中的提交按钮(JButton)由JButton对象表示,其构造方法主要有以下几种形式:
- public JButton().
- public JButton(String text).
- public JButton(Icon icon).
- public JButton(String text,Icon icon).
使用上述构造方法,在Swing按钮上不仅能显示文本标签,还可以显示图标。上述构造方法中的第一个构造方法可以生成不带任何文本组件的对象和图标,可以在以后使用相应方法为按钮设置指定的文本和图标;其他构造方法都在初始化时指定了按钮上显示的图标或文字。
实例
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Demo9 extends JFrame{
public Demo9() {
setBounds(100,100,500,300);//设置窗体坐标和大小
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗体关闭规则,关闭窗口时关闭程序
Container c = getContentPane();//创建容器
c.setLayout(new GridLayout(3,2,5,5));//设置网格布局管理器
JButton btn[]= new JButton[6];//创建JButton数组
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));//设置按钮边框颜色
Icon icon = new ImageIcon("src/imageButton.jpg");//获取图标
btn[4].setIcon(icon);//为按钮设置图标
btn[4].setToolTipText("图片按钮");//设置按钮提示文字
btn[5].setText("可点击");//设置按钮文字
btn[5].addActionListener(new ActionListener() {//为按钮添加监听事件
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(Demo9.this, "弹出对话框");//弹出确认对话框
}
});
setVisible(true);//设置窗体为可见
}
public static void main(String[] args) {
new Demo9();
}
}
运行结果
本实例首先创建一个没有定义图标和文字的按钮对象,然后使用setText()方法为这个按钮设置文字,其中setToolTipText()方法是为按钮设置提示文字,setBorderPainted()方法设置按钮边界是否显示。最后为该按钮设置了一个鼠标单击事件,实现当用户单击该按钮时弹出提示对话框的功能。