`

itemStateChanged twice

阅读更多

 

itemStateChanged 执行了两次

 

itemStateChanged触发了两次

原来的代码:

 @Override
    public void itemStateChanged(ItemEvent e) {
        Object source = e.getSource();
        if ( source instanceof JRadioButton) {
            JRadioButton selectedRadio = (JRadioButton) source;
            if(selectedRadio==groupIdRadio){
                isXml=false;
            }else{
                isXml=true;
            }
            System.out.println("isXml:"+isXml);
        }
    }

 解决方法:增加条件判断:e.getStateChange()==ItemEvent.SELECTED

修改之后的方法:

 @Override
    public void itemStateChanged(ItemEvent e) {
        Object source = e.getSource();
        if (e.getStateChange() == ItemEvent.SELECTED&& source instanceof JRadioButton) {
            JRadioButton selectedRadio = (JRadioButton) source;
            if(selectedRadio==groupIdRadio){
                isXml=false;
            }else{
                isXml=true;
            }
            System.out.println("isXml:"+isXml);
        }
    }

 

 

参考:

http://suckjava.blogspot.com/2009/06/itemlistener.html

http://stackoverflow.com/questions/21926397/jcombobox-itemstatechanged-event-called-twice-at-a-time

 

 

  • 大小: 105.3 KB
0
0
分享到:
评论

相关推荐

    音乐播放器Java课程设计报告.docx

    * `public void itemStateChanged(ItemEvent arg0)`: 返回一个 AudioClip 对象。 四、程序流程图 该音乐播放器的程序流程图主要包括以下几个步骤: 1. 初始化界面:创建主窗体、按钮、标签等控件。 2. 加载音频...

    五子棋(java编写).doc

    在`CheseGame`类中,还需要实现`MouseListener`和`ItemListener`接口的相关方法,如`mouseClicked`用于处理棋子的放置,`itemStateChanged`用于处理黑白棋顺序的选择。这些方法的实现将决定游戏的交互性和逻辑。 ...

    JAVA事件处理机制.doc

    当用户改变选中状态时,`itemStateChanged`方法会被触发,然后根据用户的输入和选择的进制类型转换数字并显示结果。 Java的事件处理机制遵循委托模型,即事件源将事件处理的责任委托给监听器。这种设计模式使得代码...

    JAVA数据代码

    public void itemStateChanged(ItemEvent e) { if(box.getState()==true) { setResizable(true); } else { setResizable(false); } } public void actionPerformed(ActionEvent e) { dispose(); } } ...

    实验五--Java事件处理.docx

    在`itemStateChanged`中,我们需要检查是哪个复选框的状态发生了变化,然后根据状态改变文本的样式。 整个实验通过实际操作,帮助学习者深入理解Java GUI编程中的事件模型,包括事件的产生、传递和处理过程,以及...

    java事件 选项事件 实例代码

    当用户从下拉列表中选择一个新的项目时,`itemStateChanged`方法会被调用,我们可以通过`e.getStateChange()`检查事件的状态,`SELECTED`表示一个选项被选中,然后通过`e.getItem()`获取被选中的具体选项。...

    components-CheckBoxDemoProject.zip

    当状态改变时,`itemStateChanged`事件会被触发。注册`ItemListener`的方式如下: ```java checkBox.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if (e....

    JAVA组件大全.pdf

    文档中给出了一个实现ItemListener接口的类JCheckBox2,并在其中定义了itemStateChanged方法,该方法会在复选框状态改变时执行。 关于JCheckBox的方法,文档提到了几个关键的方法,比如addItemListener方法用于添加...

    java 使用JCheckBox组件

    `ItemListener`接口提供了`itemStateChanged`方法,该方法会在复选框状态改变时被调用: ```java checkBox.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if (e...

    java低级界面实现文字输入

    在这个监听器中,当用户在 `textBox` 中输入文字时,`itemStateChanged` 方法会被调用。你可以在这里获取并处理用户的输入,比如发送到服务器或者进行本地存储。 为了让用户能够看到这个输入界面,我们需要将 `...

    语言程序设计资料:java五 设置颜色.doc

    例如,`ActionListener` 的 `actionPerformed(ActionEvent e)` 方法用于处理动作事件,而 `ItemListener` 的 `itemStateChanged(ItemEvent e)` 方法处理选择事件。 - 事件源(如按钮、复选框等)会将事件传递给已...

    java JComboBox的事件处理

    我们可以通过实现`itemStateChanged(ItemEvent e)`方法来监听这些事件。 ```java comboBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ...

    JAVA下拉列表的使用方法(代码)

    当用户从下拉列表中选择一个新项时,`itemStateChanged()`方法会被调用: ```java comboBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ...

    java选择框、单选框和单选按钮

    要监听复选框的选中状态变化,需要实现`ItemListener`接口并覆盖`itemStateChanged(ItemEvent e)`方法,通过`getItemSelectable()`获取事件源。 **单选框** 在Java中,单选框的实现是通过将复选框分组来实现的。...

    java JCheckBox事件处理

    public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { System.out.println("复选框被选中"); } else { System.out.println("复选框被取消选中"); } } }); ``` ###...

    SCMAD擬真題

    在 Java ME 中,处理 Item 事件的标准方法是使用 `itemStateChanged(ItemEvent ie)`。当一个 Item 对象的状态发生变化时,会触发该事件,相应的监听器会调用此方法进行处理。 #### 题目五:哪个常量用于创建模态...

    Java程序设计报告五子棋

    - `itemStateChanged(ItemEvent e)`:响应颜色选择变化的事件。 - `actionPerformed(ActionEvent e)`:响应按钮点击事件。 - `paint(Graphics g)`:绘制棋盘和棋子。 - `startColor(int x)`:改变当前玩家的棋子...

    wpf-essentials:.NET软件包,其中包含旨在简化WPF应用程序开发的数据类型和扩展方法

    您可以将视图绑定到ItemStateChanged事件,以侦听项目状态更改。 EnumExtensions - Enum类的扩展方法。 提供有用的方法,例如GetDescription()从DescriptionAttribute提取描述字符串,以及更通用的GetAttribute<T>

Global site tag (gtag.js) - Google Analytics