java单选按钮,当再次不选时(默认不选),如何恢复原来的事件

java单选按钮,当再次不选时(默认不选),如何恢复原来的事件如图,想默认执行第一个,选中的话执行第二个,可是再次不选时,却无法执行第一个怎么写才能让他不选时执行一个,选... java单选按钮,当再次不选时(默认不选),如何恢复原来的事件如图,想默认执行第一个,选中的话执行第二个,可是再次不选时,却无法执行第一个

怎么写才能让他不选时执行一个,选中时执行一个,?如何循环
展开
 我来答
雪飞潇潇
2018-04-03 · TA获得超过6275个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:877万
展开全部

如果是单选按钮组,那么你需要判断是哪一个按钮被选中了,然后执行相应的操作

当然了,如果只要实现隐藏和显示 ,那么一个复选按钮就够了,如图

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

// 继承自JFrame实现ItemListener接口
public class DemoFrame extends JFrame implements ItemListener{
JPasswordField jpf;//密码框
JCheckBox jcb;//复选框
public DemoFrame() {
JPanel jp = new JPanel();
jcb = new JCheckBox("显示");
jcb.addItemListener(this);

jpf=new JPasswordField(8);
jpf.setEchoChar('&');
jp.add(jpf);
jp.add(jcb);
add(jp);
setTitle("测试");//标题
setSize(270, 80);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭窗口就结束程序
}

public static void main(String[] args) {
new DemoFrame().setVisible(true);;
}

//实现接口的方法
@Override
public void itemStateChanged(ItemEvent e) {
if(jcb.isSelected()) {//如果复选框被选中,那么显示
jpf.setEchoChar((char)0);
}else {//否则 隐藏
jpf.setEchoChar('&');
}
}
}
更多追问追答
追问
能只用单选按钮实现吗?还是必须用复选框
追答

单选按钮可以实现的,效果如下,

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

// 继承自JFrame实现ItemListener接口
public class DemoFrame extends JFrame implements ItemListener{
JPasswordField jpf;//密码框
JRadioButton jrb;//单选
public DemoFrame() {
JPanel jp = new JPanel();
jrb = new JRadioButton("显示");
jrb.addItemListener(this);

jpf=new JPasswordField(8);
jpf.setEchoChar('&');
jp.add(jpf);
jp.add(jrb);
add(jp);
setTitle("测试");//标题
setSize(270, 80);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭窗口就结束程序
}

public static void main(String[] args) {
new DemoFrame().setVisible(true);;
}

//实现接口的方法
@Override
public void itemStateChanged(ItemEvent e) {
if(jrb.isSelected()) {//如果复选框被选中,那么显示
jpf.setEchoChar((char)0);
}else {//否则 隐藏
jpf.setEchoChar('&');
}
}
}
e世同人
2018-04-03 · TA获得超过830个赞
知道小有建树答主
回答量:229
采纳率:87%
帮助的人:90.6万
展开全部

和循环徜有关系。Java对GUI组件被用户操作时的响应,是事件触发机制的,用户点击了单选钮就用触发相应的事件处理。你用的是swing,单选钮对应的事件是itemStateChange(ItemEvent),使用的监听器是ItemListener。你只要在itemStateChange事件处理函数里,判断一下此单选钮是否选中,就可以了。

JCheckBox chkOption1=new JCheckBox("复选框");
chkOption1.addItemListener(new ItemListener(){
    public void itemStateChanged(ItemEvent e){
        if(e.getStateChange()==ItemEvent.SELECTED){
            //选中时执行
        }
        else{
            //取消选中时执行
        }
    }
});
//...
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式