gpt4 book ai didi

java - JCheckbox 监听器

转载 作者:行者123 更新时间:2023-12-02 11:32:07 29 4
gpt4 key购买 nike

我最近刚刚开始学习 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);
}

}

最佳答案

您没有添加ActionListenerthis 指的是您的 MultiListenerFrame 类。

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

this.button1.addActionListener(new ActionListener() {

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

关于java - JCheckbox 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49220891/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com