我目前正陷在这个问题上。我想如果选中一个复选框,它应该返回一个值,但是当您将public更改为int时,您会得到一个错误。它似乎仅适用于void,并且void不返回任何内容。有没有办法做到这一点?

public class event3 implements ItemListener {
        public void itemStateChanged(ItemEvent checkboxdetails) {
            if(moredetailscheck.isSelected()) {
                return moredetailsbox = 1;
            } else {
                return moredetailsbox = 0;
            }

        }
      }

最佳答案

事件处理程序并非旨在返回某些内容。
这些方法在相关事件发生时被调用。
因此,您要做的就是捕获处理程序调用期间您感兴趣的信息。
例如,您可以将信息存储在实例字段中:

private int moredetailsbox;
...
if(moredetailscheck.isSelected()) {
    moredetailsbox = 1;
} else {
    moredetailsbox = 0;
}

10-08 12:54