This is a Sudoku game developed using JavaFX. The objective is not really to demonstrate Sudoku, but to show Cascading Style Sheets (CSS) support in JavaFX. This sample uses two CSS files – blue.css and black.css. These files have information about different user interface attributes such as color, font, shape…
For Applet mode, click on above image
For standalone mode
First lets create a style sheet…
.titleText {
font-size: 20pt;
font-family: "Bitstream Vera Sans";
font-weight: bold;
fill: #79818C;
}
|
Here we have specified the font attributes family, weight, size, color etc.
Similarly a button can be created by a combination of Rectangle and Text as shown below:
.buttonText {
font-size: 11pt;
font-family: "Bitstream Vera Sans";
font-weight: bold;
fill: #FFE6D9;
}
.normalButton {
fill: #8A9CB4;
stroke: #79818C;
strokeWidth: 2.0;
arcWidth: 10;
arcHeight: 10;
}
|
Now we need to associate this style-sheet with the top level container of JavaFX – Scene.
var stylesheets = "{__DIR__}blue.css";
Scene {
content: []
width: 281
height: 408
stylesheets: bind stylesheets
}
|
I have declared a variable stylesheet and have assigned the URL of the stylesheet file. Now I bind this value to stylesheets attribute of Scene. This will associate the CSS file with this Scene. I have used bind so that I can update the associated stylesheet at runtime.
Now I will associate the style-class defined in style-sheet to the specified Node. For example, we can apply the titleText style-class with the title node as shown below.
var title = Text {
content: "Sudoku"
effect: dropShadow
styleClass: "titleText"
}
|
Similarly we can associate the button’s rectangle attributes as shown below..
var defRect = Rectangle {
width: bind width
height: bind height
styleClass: "normalButton"
}
|
Cool! Now you can play Sudoku game and if you feel bored just change the look and continue playing!!
var dzone_url = “http://blogs.sun.com/rakeshmenonp/entry/javafx_sudoku_css_support”;
var dzone_style = ’2′;
digg_skin = ‘compact’;
digg_window = ‘new’;