提交按钮组件(JButton)

  1. package MyPackage_2;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. public class TestClass extends JFrame{
  7. public TestClass(String str){
  8. super(str);
  9. super.setBounds(100,100,800,600);
  10. super.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  11. Container c1=super.getContentPane();
  12. c1.setLayout(new GridLayout(2,3,10,10));//把c1设置为2*3的网格布局
  13. JButton x[]=new JButton[6];//数组x的6个元素都是JButton按钮
  14. for(int i=0;i<x.length;i++){
  15. x[i]=new JButton();//创建一个按钮,赋值给x[i]
  16. c1.add(x[i]);
  17. }
  18. x[0].setText("该按钮不可用");
  19. x[0].setEnabled(false);//设置按钮不可用
  20. x[1].setText("该按钮有背景颜色");
  21. x[1].setBackground(Color.cyan);//设置按钮的背景颜色
  22. x[2].setText("该按钮不显示边框");
  23. x[2].setBorderPainted(false);//设置该按钮边框不可见
  24. x[3].setText("该按钮的边框有颜色");
  25. x[3].setBorder(BorderFactory.createLineBorder(Color.red));//设置边框的颜色
  26. Icon icon=new ImageIcon("src/image/x.jpg");//参数是图片的路径
  27. x[4].setIcon(icon);//给按钮设置图片
  28. x[5].setText("可点击");
  29. x[5].addActionListener(new ActionListener() {//添加事件监听
  30. @Override
  31. public void actionPerformed(ActionEvent e) {//监听触发的方法
  32. JOptionPane.showMessageDialog(TestClass.this,"这是一个对话框!");//弹出小对话框
  33. }
  34. });
  35. super.setVisible(true);//设置窗体可见
  36. }
  37. public static void main(String[] args) {
  38. TestClass d1=new TestClass("JF窗体");
  39. }
  40. }

运行结果:
image.png
点击第6个按钮后:
image.png

单选按钮组件(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窗体");
    }
}

运行结果:
image.png
点击打印后:
image.png

复选框组件(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窗体");
    }
}

运行结果:
image.png
按下“打印”按钮之后:
image.png