de.jensd.fx.glyphs.control.GlyphCheckBox Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fontawesomefx Show documentation
Show all versions of fontawesomefx Show documentation
Use WebFonts as icon source for JavaFX applications.
The newest version!
package de.jensd.fx.glyphs.control;
import de.jensd.fx.glyphs.GlyphIcon;
import de.jensd.fx.glyphs.control.skin.GlyphCheckBoxSkin;
import de.jensd.fx.glyphs.fontawesome.FontAwesomeIcon;
import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Skin;
/**
* @author Jens Deters ([email protected])
*/
public class GlyphCheckBox extends CheckBox {
private ObjectProperty notSelectedIcon;
private ObjectProperty selectedIcon;
public GlyphCheckBox() {
super("");
}
public GlyphCheckBox(GlyphIcon notSelectedIcon, GlyphIcon selectedIcon, String text) {
super(text);
setNotSelectedIcon(notSelectedIcon);
setSelectedIcon(selectedIcon);
}
@Override
protected Skin createDefaultSkin() {
return new GlyphCheckBoxSkin(this);
}
public ObjectProperty notSelectedIconProperty() {
if (notSelectedIcon == null) {
notSelectedIcon = new SimpleObjectProperty(new FontAwesomeIconView(FontAwesomeIcon.TOGGLE_OFF));
}
return notSelectedIcon;
}
public GlyphIcon getNotSelectedIcon() {
return notSelectedIconProperty().get();
}
public void setNotSelectedIcon(GlyphIcon icon) {
notSelectedIconProperty().set(icon);
}
public ObjectProperty selectedIconProperty() {
if (selectedIcon == null) {
selectedIcon = new SimpleObjectProperty(new FontAwesomeIconView(FontAwesomeIcon.TOGGLE_ON));
}
return selectedIcon;
}
public GlyphIcon getSelectedIcon() {
return selectedIconProperty().get();
}
public void setSelectedIcon(GlyphIcon icon) {
selectedIconProperty().set(icon);
}
}