JCards is a free Java application which acts as a simple data repository for user-defined data. It can be used for any structured data but some examples are contacts, passwords, music list, etc.
The user first defines one or more fields to define the database structure. To enter data the user creates one or more Cards, where a Card represents one record in the database.
As many as required. The only limitation is the memory in your computer.
Just define them as and when required. Existing records will have these fields set to a null value. If you define a new field and then make it the first field the card list will display a blank line for any existing records.
You can change a fields name and whether it is mandatory or not. Fields can also be deleted and its position relative to other fields can be altered.
You can change an existing field's type to String or Memo. This cannot be undone once you press OK except by reloading the database.
Note that if a Memo field is converted to the String type any newlines will be converted to spaces.
The size of memo fields is now set on an individual basis field by field. Edit the field definition to change it.
Categories are fields which can have a limited set of values. For example, an addressbook might have a type category which is limited to Work or Home.
Once categories are created you can filter the cards being shown in the main list by selecting one from the View menu.
To use a category, first create it and then assign a field to the category type. The category can then be selected from the category list.
Counters are fields which increment every time you create a new card. They are display only, although the counter can be edited to reset the value and increment. The initial value and increment can be negative if required.
Note that clicking OK on the edit counter dialog will not update the counter settings. Only the update button does this.
Calculated fields get their values by evaluating a user supplied formula. The formula can use numbers, operators (+, -, /, *, ^), field names and mathematical functions defined by the java.lang.Math Java class. More information on the Math functions can be found at http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html. Note that field names must be quoted (e.g. 'field') to separate them from mathematical functions and that the calculation is case sensitive. Also, referenced fields must be of either Integer, Double, Counter or Calculated type.
The edit card dialog has an update button on it, but this is only so users can see the results of any changes made. When the user clicks OK all calculated fields are updated anyway.
Formulas are defined using postfix notation in the default text field on the edit field dialog. The table below shows some examples:
Standard notation | Postfix notation |
---|---|
5 * tan(67) | 5 67 tan * |
5 * (3 + 2) | 5 3 2 + * |
5 * 'Unit Price' | 5 'Unit Price' * |
The mathematical functions available are:
Function | Args | Description |
---|---|---|
abs | 1 | Returns the absolute value of a double value. If the argument is not negative, the argument is returned. If the argument is negative, the negation of the argument is returned. |
acos | 1 | Returns the arc cosine of an angle, in the range of 0.0 through pi. |
asin | 1 | Returns the arc sine of an angle, in the range of -pi/2 through pi/2. |
atan | 1 | Returns the arc tangent of an angle, in the range of -pi/2 through pi/2. |
atan2 | 2 | Converts rectangular coordinates (x, y) to polar (r, theta). This method computes the phase theta by computing an arc tangent of y/x in the range of -pi to pi. |
ceil | 1 | Returns the smallest (closest to negative infinity) double value that is not less than the argument and is equal to a mathematical integer. |
cos | 1 | Returns the trigonometric cosine of an angle. |
exp | 1 | Returns Euler's number e raised to the power of a double value. |
floor | 1 | Returns the largest (closest to positive infinity) double value that is not greater than the argument and is equal to a mathematical integer. |
IEEEremainder | 2 | Computes the remainder operation on two arguments as prescribed by the IEEE 754 standard. |
log | 1 | Returns the natural logarithm (base e) of a double value. |
max | 2 | Returns the greater of two values. |
min | 2 | Returns the smaller of two values. |
pow | 2 | Returns a value of the first argument raised to the power of the second argument. |
random | 0 | Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. Returned values are chosen pseudorandomly with (approximately) uniform distribution from that range. |
round | 1 | Returns the closest long to the argument. |
sin | 1 | Returns the trigonometric sine of an angle. |
sqrt | 1 | Returns the correctly rounded positive square root. |
tan | 1 | Returns the trigonometric tangent of an angle. |
toDegrees | 1 | Converts an angle measured in radians to an approximately equivalent angle measured in degrees. |
toRadians | 1 | Converts an angle measured in degrees to an approximately equivalent angle measured in radians. |
A field can have a default value defined. This must correlate to the fields type.
When you create a new card the default is automatically populated, but can be overridden if required.
If specifying a default for a boolean field the permissible values for true are: Y, true, 1. The permissible values for false are: N, false, 0. New in 5.0 - you can specify the first letter of Yes or No in your language as long as there is support included for your particular language.
The last deleted Card can be recovered from the Edit|Card menu. This option is only available during the current session.
The preferences dialog allows you to select a date format. Previously entered dates will be displayed in the new format.
Sorting can either be set in the preferences dialog or by clicking on a column header. Clicking on the same header will sort in descending order.
The data format for saved data is a zip file containing a database definition and the data. Both entries are stored as XML so can be read in a text editor unless they have been encrypted.
Alternatively, the data can be exported to a CSV file.
There is a separate option on the File menu for exporting categories.
Data can be read into and written out of JCards using comma-separated values (CSV) files. The import/export is flexible enough to allow the user to specify what field and text delimiters they want to use and whether they want multi-line fields to be concatenated.
You can optionally set a password which will encrypt your data using the Blowfish encryption algorithm. Note that if you forget your password you cannot retrieve your data.
Preferences are split across three tabs. The Application tab displays application specific preferences while the Database and Vis Fields tabs display database specific preferences.
Select the fields to display in the table.
Allows the user to select which icons to dispay in the toolbar.
JCards can be configured at startup to use smaller screens and to use a default document location instead of the user's home. Add the following before the -cp option in the shell script that is used to start JCards.
Other options can be set in the jcards.properties file: