java复选框 监听_Java Swing - 如何使用ChangeListener处理JCheckBox事件

本文介绍如何在Java Swing应用中利用ChangeListener监听JCheckBox的选择状态变化。通过创建一个ChangeListener实例并添加到JCheckBox,我们可以在其状态改变时获取armed、pressed和selected的详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.awt.BorderLayout;

import java.awt.event.KeyEvent;

import javax.swing.AbstractButton;

import javax.swing.ButtonModel;

import javax.swing.JCheckBox;

import javax.swing.JFrame;

import javax.swing.event.ChangeEvent;

import javax.swing.event.ChangeListener;

public class Main {

public static void main(String args[]) {

JFrame frame = new JFrame("Selecting CheckBox");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JCheckBox checkBox = new JCheckBox("A");

// Define ChangeListener

ChangeListener changeListener = new ChangeListener() {

public void stateChanged(ChangeEvent changeEvent) {

AbstractButton abstractButton = (AbstractButton) changeEvent.getSource();

ButtonModel buttonModel = abstractButton.getModel();

boolean armed = buttonModel.isArmed();

boolean pressed = buttonModel.isPressed();

boolean selected = buttonModel.isSelected();

System.out.println("Changed: " + armed + "/" + pressed + "/" + selected);

}

};

// Attach Listeners

checkBox.addChangeListener(changeListener);

checkBox.setMnemonic(KeyEvent.VK_S);

frame.add(checkBox, BorderLayout.NORTH);

frame.setSize(300, 100);

frame.setVisible(true);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值