Ideally, every class should be designed to allow comprehensive utilitization. Since it is desired to follow some common model, heavily used classes in UniVista were designed to act as the so called beans. This does not require every bean to be visualizable, and therefore many of the Variable types were divided into a component model so UI's can be plugged in with the data. This creates the Variable/VariableDisplay symmetry, so a new or custom UI can just extend the display class. This would mean that a common interface (VariableUI) would be shared and no one would need to know more.
Don't let the poor naming convention of the classes below discourage any further subclassing of VariableDisplay. For example, to create a Boolean display that uses a checkbox, simply extend VariableDisplay and implement the methods get/setValue and setupUI to work with the subclass's checkbox UI, i.e. JCheckBox.