Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JCheckbox侦听器_Java_Swing_Listener_Jcomponent - Fatal编程技术网

Java JCheckbox侦听器

Java JCheckbox侦听器,java,swing,listener,jcomponent,Java,Swing,Listener,Jcomponent,我最近刚开始学习Java代码。我在添加侦听器时遇到问题。我一直在努力解决这个问题一个小时,但我找不到解决方案。请有人看看有什么问题。这是我的密码: import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.HeadlessException; import java.awt.event.ItemEvent; import javax.swing.JCheckBox; import javax.swing

我最近刚开始学习Java代码。我在添加侦听器时遇到问题。我一直在努力解决这个问题一个小时,但我找不到解决方案。请有人看看有什么问题。这是我的密码:

import java.awt.BorderLayout;
import java.awt.FlowLayout;

import java.awt.HeadlessException;
import java.awt.event.ItemEvent;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class MultiListenerFrame extends JFrame {

    JPanel panel;
    JLabel label;
    JCheckBox button1;
    JCheckBox button2;
    JCheckBox button3;

    public MultiListenerFrame() throws HeadlessException {
        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        this.setSize(600,500);

        panel = new JPanel();
        panel.setLayout(new FlowLayout());
        add(BorderLayout.NORTH, panel);

        button1  = new JCheckBox("button1");
        button2  = new JCheckBox("button2");
        button3  = new JCheckBox("button3");
        panel.add(button1);
        panel.add(button2);
        panel.add(button3);

        button1.addActionListener(this); // here is my problem 


    }
    public void itemStateChanged(ItemEvent e) {
        Object source = e.getItemSelectable();
        if(source == button1) {
            label.setText("Hello");
        } else if (source == button2) {
            label.setText("world");
        } else if(source == button23) {
            label.setText("!!!");
        }

    }

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

}

您没有添加
ActionListener
引用您的
MultiListenerFrame

在某处定义一个侦听器并添加:

this.button1.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO something
    }
});

非常感谢。这有帮助