Java 入门图形用户界面设计之复选框

作者:小旺不正经 时间:2022-06-19 15:22:53 

Java程序设计 图形用户界面 【十】复选框

复选框JCheckBox

JCheckBox类

方法作用
public JCheckBox(Icon icon)创建一个带图标的对象,但不选定
public JCheckBox(Icon icon,boolean selected)创建一个带图标的对象,并指定其是否选定
public JCheckBox(String text)创建一个带文本的对象,但不选定
public JCheckBox(String text,boolean selected)创建一个带文本的对象,并指定其是否选定
public JCheckBox(String text,Icon icon,boolean selected)创建一个带文本和图标的对象,并指定其是否被选定

import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

class MyCheckBox{
   private JFrame frame = new JFrame("一");
   private Container cont =frame.getContentPane();
   private JCheckBox jcb1 = new JCheckBox("A");
   private JCheckBox jcb2 = new JCheckBox("B");
   private JCheckBox jcb3 = new JCheckBox("C");
   private JPanel pan = new JPanel();
   public MyCheckBox(){
       pan.setBorder(BorderFactory.createTitledBorder("请选择"));
       pan.setLayout(new GridLayout(1,3));
       pan.add(this.jcb1);
       pan.add(this.jcb2);
       pan.add(this.jcb3);
       cont.add(pan);
       this.frame.setSize(330,80);
       this.frame.setVisible(true);
       this.frame.addWindowListener(new WindowAdapter() {
           @Override
           public void windowClosing(WindowEvent e) {
               super.windowClosing(e);
               System.exit(1);
           }
       });
   }
}
public class Hello {
   public static void main(String[] args) {
       new MyCheckBox();
   }
}

Java 入门图形用户界面设计之复选框

与单选按钮不同的是,此时选择的地方变成了“□”型,与各个系统中常见的复选框形式是一样的

JCheckBox事件处理

JCheckBox和JRadioButton的事件处理监听接口是一样的,都是使用ItemListener接口

使用ItemListener接口进行事件的监听

方法作用
void itemStateChanged(ItemEvent e)当用户取消或选定某个选项时调用

ItemEvent类

方法&常量类型作用
public static final int SELECTED常量选项被选中
public static final int DESELECTED常量选项未被选中
public Object getItem()方法返回受事件影响的选项
public int getStateChange()方法返回选定状态的类型(已选择或已取消)

import javax.swing.*;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

class MyCheckBox {
   private JFrame frame = new JFrame("一");
   private Container cont = frame.getContentPane();
   private JCheckBox jcb1 = new JCheckBox("A");
   private JPanel pan = new JPanel();
   private JLabel a = new JLabel("未选中");
   public MyCheckBox(){
       pan.setLayout(new GridLayout(1,2));
       pan.add(a);
       pan.add(this.jcb1);
       jcb1.addItemListener(new ItemListener() {
           @Override
           public void itemStateChanged(ItemEvent e) {
               JCheckBox jcb = (JCheckBox) e.getItem();
               if(jcb.isSelected()){
                   a.setText("选中");
               }else {
                   a.setText("未选中");
               }
           }
       });
       cont.add(pan);
       this.frame.setSize(300,100);
       this.frame.setVisible(true);
       this.frame.addWindowListener(new WindowAdapter() {
           @Override
           public void windowClosing(WindowEvent e) {
               super.windowClosing(e);
               System.exit(1);
           }
       });
   }
}
public class Hello {
   public static void main(String[] args) {
       new MyCheckBox();
   }
}

Java 入门图形用户界面设计之复选框

Java 入门图形用户界面设计之复选框

选中选项改变 文字

来源:https://blog.csdn.net/weixin_42403632/article/details/122927155

标签:Java,复选框,图形用户界面
0
投稿

猜你喜欢

  • C#调用Oracle存储过程的方法

    2022-10-19 02:29:19
  • Java continue break制作简单聊天室程序

    2022-12-20 01:23:01
  • Java httpClient介绍以及使用示例

    2023-03-15 23:51:15
  • Java数据结构之线段树详解

    2022-09-03 08:13:32
  • C++实现简易反弹小球游戏的示例代码

    2023-06-15 08:18:50
  • Unity 按钮事件封装操作(EventTriggerListener)

    2022-07-08 10:07:08
  • Java反射机制及Method.invoke详解

    2023-11-22 17:25:28
  • Java面向对象编程的三大特征

    2023-09-19 06:20:34
  • Java Lambda表达式常用的函数式接口

    2021-10-30 13:43:53
  • java实现通讯录管理系统

    2021-07-02 00:19:53
  • SpringBoot实现本地存储文件上传及提供HTTP访问服务的方法

    2022-09-14 19:09:12
  • Idea里github的图形化操作配置方法

    2021-12-29 15:03:17
  • Java调用wsdl接口的两种方法(axis和wsimport)

    2023-06-23 14:41:22
  • java如何去除图片中的白色背景

    2022-04-17 00:07:14
  • C# 循环判断会进来几次的实现代码

    2021-12-27 15:10:51
  • C#关于类的只读只写属性实例分析

    2021-06-12 04:24:11
  • c#用for语句输出一个三角形的方法

    2023-12-17 05:46:53
  • 基于spring 方法级缓存的多种实现

    2022-12-14 18:31:38
  • Java 阻塞队列和线程池原理分析

    2022-04-19 11:57:45
  • Android中通过Notification&NotificationManager实现消息通知

    2023-01-01 16:57:05
  • asp之家 软件编程 m.aspxhome.com