跟踪每次选中和取消选中复选框的时间
Keeping Track of Every Time that a Checkbox is checked and unchecked
我的大部分 java 应用程序已经完成,所以我现在正在记录所有用户 activity。我想跟踪的一件事是每当我的一个复选框被选中和取消选中时。如果对象被选中或未被选中,我可以在最后阅读,但是我想知道每次实时使用复选框。我想知道用户选中和取消选中该框的次数。现在我正在使用类似于此语法的东西,但它不会在每次选中和取消选中复选框时打印一条语句。
public CheckboxAction(String text) {
super(text);
}
@Override
public void actionPerformed(ActionEvent event) {
JCheckBox cbLog = (JCheckBox) event.getSource();
if (cbLog.isSelected()) {
System.out.println("Logging is enabled");
} else {
System.out.println("Logging is disabled");
}
}
ItemListener 在这里似乎很合适
yourJCheckBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent arg0) {
if (yourJCheckBox.isSelected()) {
// Code to execute when it's selected
}
else {
// Code to execute when not selected
}
}
});
首先,不要覆盖 actionPerformed
。如果您需要 - 至少在执行您的操作之前调用 super.actionPerformed
。最好的方法是使用 addActionListener
或者在这种情况下如@BoDidely 提到的那样使用 addItemListener
.
我的大部分 java 应用程序已经完成,所以我现在正在记录所有用户 activity。我想跟踪的一件事是每当我的一个复选框被选中和取消选中时。如果对象被选中或未被选中,我可以在最后阅读,但是我想知道每次实时使用复选框。我想知道用户选中和取消选中该框的次数。现在我正在使用类似于此语法的东西,但它不会在每次选中和取消选中复选框时打印一条语句。
public CheckboxAction(String text) {
super(text);
}
@Override
public void actionPerformed(ActionEvent event) {
JCheckBox cbLog = (JCheckBox) event.getSource();
if (cbLog.isSelected()) {
System.out.println("Logging is enabled");
} else {
System.out.println("Logging is disabled");
}
}
ItemListener 在这里似乎很合适
yourJCheckBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent arg0) {
if (yourJCheckBox.isSelected()) {
// Code to execute when it's selected
}
else {
// Code to execute when not selected
}
}
});
首先,不要覆盖 actionPerformed
。如果您需要 - 至少在执行您的操作之前调用 super.actionPerformed
。最好的方法是使用 addActionListener
或者在这种情况下如@BoDidely 提到的那样使用 addItemListener
.