Smiley ☺ is often used in graphical programs. SmileyFX is a library that allows to easily create Smiley in JavaFX. You can make a Smiley just as follows using SmileyFX:
Node smiley = SmileyFX.smiley(40);
That's it! The code creates a 40 pixel diameter (20x20xπ pixels) Smiley. Here is a perfect example in JavaFX and GroovyFX:
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.SceneBuilder; import javafx.stage.Stage; import smileyfx.SmileyFX; public class JavaFXDemo extends Application { @Override public void start(Stage stage) throws Exception { Node smiley = SmileyFX.smiley(40); Scene canvas = SceneBuilder.create() .root(new Group(smiley)) .width(160) .height(160) .build(); // center align smiley.layoutXProperty().bind( canvas.widthProperty() .subtract(smiley.getLayoutBounds().getWidth()) .divide(2)); smiley.layoutYProperty().bind( canvas.heightProperty() .subtract(smiley.getLayoutBounds().getHeight()) .divide(2)); // scale by window resize smiley.scaleXProperty().bind( canvas.widthProperty() .divide(canvas.getWidth())); smiley.scaleYProperty().bind( canvas.heightProperty() .divide(canvas.getHeight())); stage.setScene(canvas); stage.setTitle("Smiley FX"); stage.show(); } public static void main(String[] args) { launch(args); } }
import static groovyx.javafx.GroovyFX.start import static smileyfx.SmileyFX.smiley start { stage(title: "Smiley FX", visible: true) { scene(id: "canvas", width: 160, height: 160) { node(smiley(40)).with { // center align layoutXProperty().bind((canvas.width() - layoutBounds.width)/2) layoutYProperty().bind((canvas.height() - layoutBounds.height)/2) // scale by window resize scaleXProperty().bind(canvas.width()/canvas.width) scaleYProperty().bind(canvas.height()/canvas.height) } } } }
SmileyFX is available in here. You can use it by the follow steps:
- git clone https://code.google.com/p/smileyfx/
- cd smileyfx && ant dist