Java. Не срабатывают ситуации с разными checkbox

Коллеги, подскажите, почему в данном случае срабатывают только блоки if и else, все ситуации с установкой чекбоксов в других местах (всё прописано в else if) программа не видит. Поэтому два варианта: либо стоят все галки (if) - программа работает, либо срабатывает блок else. Остальной код не прикладываю, т.к. всё работает..

@Override
public String toString() {
    if (Window.isSelTitle == true && Window.isSelLink == true && Window.isSelDescr == true)
        return title + " " + link + " " + description;
    else if (Window.isSelTitle == true && Window.isSelLink == true && Window.isSelDescr == false)
        return title + " " + link;
    else if (Window.isSelTitle == true && Window.isSelLink == false && Window.isSelDescr == false)
        return title;
    else if (Window.isSelTitle == false && Window.isSelLink == true && Window.isSelDescr == false)
        return link;
    else if (Window.isSelTitle == false && Window.isSelLink == false && Window.isSelDescr == true)
        return description;
    else if (Window.isSelTitle == false && Window.isSelLink == true && Window.isSelDescr == true)
        return link + " " + description;
    else if (Window.isSelTitle == true && Window.isSelLink == false && Window.isSelDescr == true)
        return title + " " + description;
    else return title;      
}

код чекбоксов

//Чекбокс #1
JCheckBox checkBoxTitle = new JCheckBox("Title", true);
checkBoxTitle.addItemListener(new ItemListener() {
    public void itemStateChanged(ItemEvent e) {
        isSelTitle = checkBoxTitle.isSelected();
        System.out.println(isSelTitle);
    }
});

//Чекбокс #2
JCheckBox checkBoxLink= new JCheckBox("Link", true);  
checkBoxLink.addItemListener(new ItemListener() {
    public void itemStateChanged(ItemEvent e) {
        isSelLink = checkBoxLink.isSelected();
        System.out.println(isSelLink);
    }
});

//Чекбокс #3
JCheckBox checkBoxDescr = new JCheckBox("Description", false);  
checkBoxDescr.addItemListener(new ItemListener() {
    public void itemStateChanged(ItemEvent e) {
        isSelDescr = checkBoxDescr.isSelected();
        System.out.println(isSelDescr);
    }
});

Ответы (1 шт):

Автор решения: mrprogre

Починил, дело было в булеан переменных. Помогло логирование увидеть, что эти переменные не менялись в зависимости от чекбоксов. Всем советую писать что-то типа: System.out.println("what?? " + isSelTitle +" " + isSelLink + " " + isSelDescr);

@Override
public String toString() {
    if (isSelTitle && isSelLink && isSelDescr) return title + " " + link + " " + description;
    else if (isSelTitle && isSelLink && !isSelDescr) return title + " " + link;
    else if (isSelTitle && isSelLink && !isSelDescr) return title + " " + link;
    else if (!isSelTitle && isSelLink && isSelDescr) return link + " " + description;
    else if (isSelTitle && !isSelLink && isSelDescr) return title + " " + description;
    else if (isSelTitle && !isSelLink && !isSelDescr) return title;
    else if (!isSelTitle && isSelLink && !isSelDescr) return link;
    else if (!isSelTitle && !isSelLink && isSelDescr) return description;
    else if (!isSelTitle && !isSelLink && !isSelDescr) return title;
    else return title;
}
→ Ссылка