CheckBoxButton.java
package no.ntnu.idatt1002.demo.view.components;
import no.ntnu.idatt1002.demo.Logger;
/**
* A custom button that acts as a checkbox.
*/
public class CheckBoxButton extends PrimaryButton {
private boolean selected;
/**
* Constructor for the CheckBoxButton class.
*
* @param icon The icon to be displayed on the button.
*/
public CheckBoxButton(Icon icon) {
super(icon);
super.setButtonType(Type.TRANSPARENT);
this.selected = false;
setOnAction(e -> {
Logger.info("CheckBoxButton clicked");
if (selected) {
super.setIcon(new Icon("checkboxUnSelected"));
} else {
super.setIcon(new Icon("checkboxSelected"));
}
selected = !selected;
});
}
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
}