按钮是在Swing中较为常见的组件,用于触发特定动作。Swing中提供多种按钮,包括提交按钮、复选框、单选按钮等,这些按钮都是从AbstractButton类中继承而来的。
一、提交按钮组件
Swing中的提交按钮由JButton对象表示,其构造方法主要有以下几种:
1、public JButton()
2、public JButton(String text)
3、public JButton(Icon icon)
4、public JButton(String text,Icon icon)
使用上述构造方法,在按钮上不仅能显示文本标签,还可以显示图标,示例如下:
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;
public class JButtonTest extends JFrame{
public JButtonTest() {
URL url = MyImageIcon.class.getResource("AIshibie.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);
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() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
JOptionPane.showMessageDialog(null, "弹出对话框");
}
});
c.add(jb);
setTitle("按钮组合");
setSize(400,400);
setVisible(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
public static void main(String args[]) {
new JButtonTest();
}
}
运行结果如下:
二、单选按钮组件
单选按钮是Swing组件中JRadioButton类的对象,该类是JToggleButton的子类,而JToggleButton类又是AbstarctButton类的子类,所以控制单选按钮的诸多方法都是AbstrctButton类中的方法
1、单选按钮
可以使用JRadioButton类中的构造方法创建单选按钮对象,JRadioButton类的常用构造方法主要有:
(1)public JRadioButton()
(2)public JRadioButton(Icon icon)
(3)public JRadioButton(Icon icon,boolen selectd)
(4)public JRadioButton(String text)
(5)public JRadioButton(String text,Icon icon)
(6)public JRadioButton(String text,Icon icon ,boolean selected)
通过上述方法可以设置单选按钮的图标、文字和是否选中
2、按钮组
在Swing中存在一个ButtonGroup类,用于产生按钮组,如果希望将所有的单选按钮放置在按钮组中,需要实例化一个JRadioButton对象,并使用该对象调用add()方法添加单选按钮。示例如下:
JRadioButton jr1 = new JRadionButton();
JRadioButton jr2 = new JRadionButton();
JRadioButton jr3 = new JRadionButton();
ButtonGroup group = new ButtonGroup();
group.add(j1)
group.add(j2)
group.add(j3)
三、复选框组件
复选框用JCheckBox类的对象表示,它同样继承与ABstractButton类,所以复选框组件的属性设置来源于AbstractButton类,常用构造方法如下:
1、public JCheckBox()
2、public JCheckBox(Icon icon,Boolean checked)
3、public JCheckBox(String text,Boolean checkeed)