Thursday, December 22, 2016

TilesFX

Aloha everyone,
This will be my last post for 2016 and I have something for you which you might like. Always when I needed a dashboard I had to create it by myself completely from scratch.
So I've decided to create a little library that contains at least some tiles that might be useful for dashboards. 
And because I love to tinker around with some hardware I've also added some tiles for interaction (like sliders and switches).
To make it short...here is a screenshot of the current state...



On the screenshot above you can see all tiles that are currently available and some of them are also available in Medusa (but there you will find only gauge related tiles).
The default size of the tiles at the moment is 250x250px and I did not spend much time in resizing etc. 
Here is a short list of tiles that are part of the library at the moment:
  • ClockTile (a simple digital clock)
  • GaugeTile (a gauge like in Medusa)
  • HighLowTile (a tile that might be useful to show current value compared to reference value)
  • LineChartTile (a simple JavaFX line chart on a tile)
  • PercentageTile (a tile that shows the current value in percentage)
  • PlusMinusTile (a tile that has 2 buttons to increase/decrease a value)
  • SliderTile (a tile with a slider to set a value)
  • SparkLineTile (a tile containing a spark line graph like in Medusa)
  • SwitchTile (a tile that has a switch to toggle a value)
  • TextTile (a tile that contains a custom text)
  • TimerControlTile (a tile with a clock and time sections to control a value)
  • WorldMapTile (a tile with a world map like the one from worldfx)
  • WeatherTile (a tile that shows weather info using DarkSky)
  • NumberTile (a tile that simply shows a number, unit and some text)
  • TimeTile (a tile that shows a LocalTime which can be used for Durations etc.)
  • BarChartTile (a simple tile showing up to 4 bars in a sorted order)
  • CustomTile (a tile where you can add your own controls)
  • LeaderBoardTile (a simple tile showing up to 4 entries in a sorted order)
To make use of the WeatherTile you will need a DarkSky API key which you can get at
DarkSky.net. The nice thing about using DarkSky is that they allow you to call the weather update 1000x a day for free. This should be more than enough for your private project.

For those of you that would like to see it in action here is a little video...



As always you can find the binary on bintray and the code on github under the following links

The library will also be made available on maven central and you should be able to find it when you search for tilesfx. At the moment there is not much documentation except the Demo file which is part of the source code, please take a look at it to understand the usage. Another thing that would be nice to have would be a better TileLayout for dashboards, in my Demo I use a FlowLayout which allows me to use tiles of a different size.

REMINDER:
Please keep in mind that all of my code is open source which does not automatically mean it's ready for production!

If you have the need for a specific tile...please let me know and I might add it to the library.

Well and that's it for 2016, I wish all of you a merry christmas and a happy new year...and do not forget...keep coding... ;)

5 comments:

  1. Found your gauges, you rock! Playing with swing gauges right now, couldn't get linear to be vertical, but i didn't try too hard. App is pi/pi touch display/java for a car dashboard and my main question is: Should i use swing or javafx gauge package?

    ReplyDelete
    Replies
    1. Hi there,
      Well in principle JavaFX is fine on the Pi but you have to keep in mind that it is not really a powerful machine. So if you keep the number of nodes low and try to avoid to heavy animations and stuff, JavaFX is the way to go.
      Cheers,
      Gerrit

      Delete
  2. I use this tiles , I be Happy !!!

    ReplyDelete