提交按钮组件(JButton)
package MyPackage_2;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class TestClass extends JFrame{public TestClass(String str){super(str);super.setBounds(100,100,800,600);super.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);Container c1=super.getContentPane();c1.setLayout(new GridLayout(2,3,10,10));//把c1设置为2*3的网格布局JButton x[]=new JButton[6];//数组x的6个元素都是JButton按钮for(int i=0;i<x.length;i++){x[i]=new JButton();//创建一个按钮,赋值给x[i]c1.add(x[i]);}x[0].setText("该按钮不可用");x[0].setEnabled(false);//设置按钮不可用x[1].setText("该按钮有背景颜色");x[1].setBackground(Color.cyan);//设置按钮的背景颜色x[2].setText("该按钮不显示边框");x[2].setBorderPainted(false);//设置该按钮边框不可见x[3].setText("该按钮的边框有颜色");x[3].setBorder(BorderFactory.createLineBorder(Color.red));//设置边框的颜色Icon icon=new ImageIcon("src/image/x.jpg");//参数是图片的路径x[4].setIcon(icon);//给按钮设置图片x[5].setText("可点击");x[5].addActionListener(new ActionListener() {//添加事件监听@Overridepublic void actionPerformed(ActionEvent e) {//监听触发的方法JOptionPane.showMessageDialog(TestClass.this,"这是一个对话框!");//弹出小对话框}});super.setVisible(true);//设置窗体可见}public static void main(String[] args) {TestClass d1=new TestClass("JF窗体");}}
单选按钮组件(JRadioButton)
在默认情况下,单选按钮(JRadioButton)显示一个圆形图标,并且通常在该图标旁放置一些说明性文字,而在应用程序中,一般讲多个单选按钮放置在按钮组中,使这些按钮表现出某种功能,当用户选中某个单选按钮后,按钮组中的其他按钮讲被自动取消。
package MyPackage_2;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TestClass extends JFrame{
public TestClass(String str){
super(str);
super.setBounds(100,100,800,600);
super.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Container c1=super.getContentPane();
c1.setLayout(new FlowLayout());//设置c1为流布局
/*
创建3个JRadioButton按钮jr1、jr2、jr3并添加到c1中
*/
JRadioButton jr1=new JRadioButton("选项1");
JRadioButton jr2=new JRadioButton("选项2");
JRadioButton jr3=new JRadioButton("选项3");
c1.add(jr1);
c1.add(jr2);
c1.add(jr3);
/*
将所有的单选按钮放在在按钮组中,使得只能选择多个JRadioButton按钮中的一个
*/
ButtonGroup group=new ButtonGroup();//实例化一个按钮组对象
group.add(jr1);
group.add(jr2);
group.add(jr3);
jr1.setSelected(true);//设置jr1为默认选中按钮
JButton jb=new JButton("打印");
/*
jr1.getText()是获取jr1的文本;jr1.isSelected()返回一个布尔值,jr1被选中返回true,否则返回false
*/
jb.addActionListener(new ActionListener() {//添加监听事件
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(jr1.getText()+"的选中状态:"+jr1.isSelected());
System.out.println(jr2.getText()+"的选中状态:"+jr2.isSelected());
System.out.println(jr3.getText()+"的选中状态:"+jr3.isSelected());
System.out.println("-----------------------------------------");
//使用”group.clearSelection();“可以清空按钮组的选项
}
});
c1.add(jb);//把jb按钮添加到c1中
super.setVisible(true);//设置窗体可见
}
public static void main(String[] args) {
TestClass d1=new TestClass("JF窗体");
}
}
复选框组件(JCheckBox)
复选框具有一个方块图标,外加一段描述性文字,与单选框不同的是,复选框可以进行多选设置,每一个复选框都提供“选中”与“不选中”两种状态。
package MyPackage_2;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TestClass extends JFrame{
public TestClass(String str){
super(str);
super.setBounds(100,100,800,600);
super.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Container c1=super.getContentPane();
c1.setLayout(new FlowLayout());//设置c1为流布局
/*
创建3个JCheckBox组件jc1、jc2、jc3并添加到c1中
*/
JCheckBox jc1=new JCheckBox("选项1");
JCheckBox jc2=new JCheckBox("选项2");
JCheckBox jc3=new JCheckBox("选项3");
c1.add(jc1);
c1.add(jc2);
c1.add(jc3);
jc1.setSelected(true);//设置jc1为默认选中按钮
JButton jb=new JButton("打印");
/*
jc1.getText()是获取jc1的文本;jc1.isSelected()返回一个布尔值,jc1被选中返回true,否则返回false
*/
jb.addActionListener(new ActionListener() {//添加监听事件
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(jc1.getText()+"的选中状态:"+jc1.isSelected());
System.out.println(jc2.getText()+"的选中状态:"+jc2.isSelected());
System.out.println(jc3.getText()+"的选中状态:"+jc3.isSelected());
System.out.println("-----------------------------------------");
//使用”group.clearSelection();“可以清空按钮组的选项
}
});
c1.add(jb);//把jb按钮添加到c1中
super.setVisible(true);//设置窗体可见
}
public static void main(String[] args) {
TestClass d1=new TestClass("JF窗体");
}
}
运行结果:
按下“打印”按钮之后:


