package org.darkstorm.minecraft.gui.component.basic;
import org.darkstorm.minecraft.gui.component.*;
import org.darkstorm.minecraft.gui.listener.*;
public class BasicRadioButton extends BasicButton implements RadioButton {
private boolean selected = false;
public BasicRadioButton() {
}
public BasicRadioButton(String text) {
this.text = text;
}
@Override
public void press() {
selected = true;
for(Button button : getGroup().getButtons()) {
if(equals(button) || !(button instanceof RadioButton))
continue;
((RadioButton) button).setSelected(false);
}
super.press();
}
@Override
public boolean isSelected() {
return selected;
}
@Override
public void setSelected(boolean selected) {
this.selected = selected;
for(ComponentListener listener : getListeners()) {
if(listener instanceof SelectableComponentListener) {
try {
((SelectableComponentListener) listener)
.onSelectedStateChanged(this);
} catch(Exception exception) {
exception.printStackTrace();
}
}
}
}
@Override
public void addSelectableComponentListener(
SelectableComponentListener listener) {
addListener(listener);
}
@Override
public void removeSelectableComponentListener(
SelectableComponentListener listener) {
removeListener(listener);
}
}