Themes
Table of Contents
The old AWT theme support has been removed and replaced with new Swing FlatLAF theme support. #
The calculator can be customized so looks and works the way you want it. You can change the keyboard layout and the background graphic. In order to do so you will need a zip tool, a text editor, an image manipulation program and Informer to find out the system properties and key codes of your device.
Before you begin you need to unpack the jar file - it’s just a normal zip file so a standard zip tool will do. Ignore all the *.class files - the important files are the *.png and the *.lst files.
And after you have made your changes you should repack the the .jar file. Make sure to preserve the directory layout.
List file #
There is one *.lst file for each calculator set-up found in the root directory of the jar file
Filenames #
The name of the file depend on the operating system used:
operating system | Description | Default |
---|---|---|
Symbian / UIQ3 | The file names of the *.lst files are made up of the internal name of the calculator (displayed for example by Informer, use the text up to the first ‘/’), a dash, the active locale and the “.lst” postfix. | SonyEricssonP990i-en.lst |
Symbian / S60 | The file names of the *.lst files are made up of the internal name of the calculator (displayed for example by Informer, use the text up to the first ‘-’), a dash, the active screen size and the “.lst” postfix. | Nokia5800d-nhd.lst |
Windows Mobile | The file names of the *.lst files are made up of the internal name of the JaveME systems - For example Jbed, [-(displayed for example by Informer a dash, the active screen size and the “.lst” postfix. | Jbed-wvga.lst |
Android | Android does not use themes - Instead it scales the buttons dynamically. Note that qvga (i.E. Sony Ericsson Xperia™ X10 mini) is not supported on Android. | |
Desktop Systems | The file names of the *.lst files are made up of the active screen size, a dash, the active locale, and the “.lst” postfix. | qvga-en.lst |
Format #
The *.lst file has the following very strict format:
Line | Column | Description |
---|---|---|
1 | Description oft the display images used. The description consists one text field and 6 numbers. Each number is exactly three digits separated by one space. | |
1 | Image file qualifier. It is used to find the images needed to display the calculator and highlight pressed buttons. | |
2 | Calculator display x position of first character | |
3 | Calculator display y position of first character | |
4 | Calculator display width of one normal character | |
5 | Calculator display width of one exponent character | |
6 | Calculator display y position of indicator row | |
7 | Amount of background images available. Should be either 1 or 4. | |
2 .. 51 | Description of the 50 calculator buttons. Each description consists of 7 numbers. Each number is exactly three digits separated by one space. The rest of the line after the last number is comment. | |
1 | Calculator button x position | |
2 | Calculator button y position | |
3 | Calculator button width | |
4 | Calculator button height | |
5 | Calculator button type. Five button types are supported. | |
6 | Calculator button scan code used by the calculators micro code. This number is octal. | |
7 | Keyboard short cut. This is a JavaME key code - positive numbers are ASCII, negative numbers are special keys. You could use Informer or KeyEventDemo to find out the codes used by your device. |
Image files #
Supported Screen sizes. #
If your screen size is not supported then use the next smaller one available. Note that destop systems must support 40 pixel larger desktop so enough space is available.
qualifier | Width | Height |
---|---|---|
qvga | 240 | 320 |
nhc | 360 | 640 |
wvga | 480 | 800 |
Filenames #
From the qualifier in line 1 five images are loaded:
Filename | Description |
---|---|
qualifier/background-0.png | Background image for normal operations. |
qualifier/background-1.png | Background image for inv operations. |
qualifier/background-2.png | Background image for alpha operations. |
qualifier/background-3.png | Background image for inv-alpha operations. |
qualifier/highlight-0.png | Highlight image for button type 0 (usually the top 2 rows). |
qualifier/highlight-1.png | Highlight image for button type 1 (usually the inv key). |
qualifier/highlight-2.png | Highlight image for button type 2 (usually the middle 3 rows). |
qualifier/highlight-3.png | Highlight image for button type 3 (usually the lower 4 rows). |
qualifier/highlight-3.png | Highlight image for button type 4 (usually the exe key). |
qualifier/indicator-0.png | INV indicator |
qualifier/indicator-1.png | HYP indicator |
qualifier/indicator-2.png | K indicator |
qualifier/indicator-3.png | HLT indicator |
qualifier/indicator-4.png | RUN indicator |
qualifier/indicator-5.png | WRT indicator |
qualifier/indicator-6.png | PCL indicator |
qualifier/indicator-7.png | DEG indicator |
qualifier/indicator-8.png | RAD indicator |
qualifier/indicator-9.png | GRA indicator |
qualifier/indicator-10.png | ALPHA indicator |
qualifier/0.png .. qualifier/255.png | Character Image 0 to 255. |
Demonstrations #
German notebook keyboard #
The following example shows the set-up for a German notebook keyboard without separate numeric keypad.
Filename | Description |
---|---|
http://www.krischik.com/fx-602p/uploads/Simulator/qvga-de.lst | qvga theme file |
http://www.krischik.com/fx-602p/uploads/Simulator/wvga-de.lst | wvga theme file |
http://www.krischik.com/fx-602p/uploads/Simulator/Aenderungen.pdf | description of changes in German |