java - 在 Java 中使用复选框启用/禁用 JComponent 存在困难

标签 java swing checkbox actionlistener jcomponent

我在运行时使用复选框禁用/启用一些 JComponent 时遇到了一些困难。我尝试过执行 if(checkbox.isSelected(){} 但没有成功。当我尝试添加 addActionListener(this) 时,出现错误“方法” AbstractButton 类中的 addActionListiner 无法应用于给定类型:必需的操作监听器:找到 JudgeMain(其类名) - 在构造函数中泄漏“this”

public class JudgeMain extends JFrame {
Connection conn = null;
ResultSet rs = null;
PreparedStatement pst = null;
LogInJ id = new LogInJ();
public String IdNumber;
public JudgeMain(LogInJ id) 
{
    initComponents();
    ButtonGroup();
    this.id = id;
    initDetails();
    yesCB.addActionListener(this);
    if(yesCB.isSelected())
    {
        timeF.setEnabled(true);
        catF.setEnabled(true);
        yearsCB.setEnabled(true);
        monthsCB.setEnabled(true);            
    }
}

感谢帮助,谢谢

最佳答案

JudgeMain不代表类型ActionListener

您需要实现此接口(interface)才能调用

yesCB.addActionListener(this);

或者只使用匿名监听器(注意,无需检查来源):

yesCB.addActionListener(new ActionListener() {

   @Override
   public void actionPerformed(ActionEvent e) {
      timeF.setEnabled(yesCB.isSelected());
      catF.setEnabled(yesCB.isSelected());
      yearsCB.setEnabled(yesCB.isSelected());
      monthsCB.setEnabled(yesCB.isSelected());
}});
<小时/>

旁注:首选方法是创建 JFrame 的实例并直接使用,而不是对该类进行子类化。

关于java - 在 Java 中使用复选框启用/禁用 JComponent 存在困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14383800/

相关文章:

javascript - 仅当使用 jQuery 单击任何复选框时才应启用提交按钮

JavaScript 复选框 onclick 函数

java - 线程池大小应远大于核心数 + 1

php - 如何使用带有数据库中的值的复选框,其中数据库中的类型列(设置)codeigniter

java - 我如何更改 android.widget.CheckedTextView 的检查值

java - 有没有办法在没有鼠标的情况下扩展 JFileChooser 目录

java - 如何制作按钮 Swing 进行大处理

java - 将相同的组件添加到 JTextPane

Java 时间节省器

java - 在运行时更新 JTree 节点背景颜色