JLEB is a Java API for programming the Dream Cheeky LED Message Board, an inexpensive desktop display which connects to your PC as a USB HID device. The picture on the right shows the board in the foreground, and Dream Cheeky's Windows software running at the back.
The picture is a little misleading since only the top-half of the display contains LEDs, in a grid of 21 columns by 7 rows.
The board is sold online, but it's been out-of-stock for some time. However, there are plenty of other places to buy it from - Amazon sells it for around US $20.
JLEB lets the programmer think of the board as a low-resolution screen containing animated sprites. Only the sprites (or parts of sprites) located between 'pixels' (0,0) and (20,6) are rendered by the board. This region corresponds to the 21 columns and 7 rows of the board's LEDs, with the x-axis running to the right, and the y-axis down, as in the diagram below.
A sprite contains a 2D character array made up of '*' and ' 's, and stores a name and a position for the array's top-left corner on the screen. A '*' is drawn by turning on the LED at that character's screen position, while ' ' means that the LED is off.
It's possible to create a 'multi-picture' sprite consisting of multiple character arrays which allows the appearance of a sprite to be changed by switching between the arrays.
A sprite can be animated in three main ways: it can be moved by modifying its position, its 'picture' can be altered by switching to another array, and an array's contents can be changed.