J2SE, Personal Java (J2ME Personal Profile) and .NET LwVCL 4.00

This new version has a lot of fixes, changes and improvements. The most important is the popup menu and menu bar components implementation. At last we can provide powerful, flexible popup menu components.

We built and run successfully the .NET LwVCL version under the MONO. The MONO is a .NET implementation that supports Windows, Unix platforms. So you can develop cross-platform .NET LwVCL applications!

The list below includes the most essential changes:

Changes Description
LwMenu added This is popup menu implementation. You can use any other components as the menu item.
LwMenuBar added This is menu bar component that can be used in any place of your application, including internal frames. It is possible to customize the menu bar component layout to place, for example, the menu items vertically.
LwPopupLayer added
LwPopupManager
PopupInfo
These components help you to work with the LwVCL popup menu. You can bind any UI component with the given popup menu by the popup manager. Just implement the popup info interface (PopupInfo) and register it for your component by the LwPopupManager.
AWTPopuManager removed Starting from this version we provide own popup menu implementation, so we don't need the AWT popup menu.
MatrixEvent removed There is not any sense to have the event object for the matrix model. All data can be passed directly into matrix listener without the event object creation.
TreeEvent removed The same thing (see the previous row description) has been done for the tree event class.
Drawable removed This intermediate interface lost his historical functions and has been removed. All methods have been passed into LwComponent interface.
LwAdvTextRender removed This render has been merged with the LwTextRender render class.
LwLayer This interface gets new method - isActive(x, y) that allows you to redirect mouse/pointer events to other layers.
LwBorder This view provides ability to customize the border elements colors.
LwBundleView removed The LwScroll component has been re-worked and the bundle view is not necessary.
LwCombo The getWinpad method has been added. Use the method to control the combo pad element.
LwComponent The setInsets method has been added. So you have ability to control the insets for any lightweight component.
LwCursorView removed The text field component doesn't need it.
LwLine added This is new component that allows rendering the specified line (placed horizontally or vertically). As rule the component is used as the popup menu items separator.
LwList The getSelectColor, setSelectColor, getPosRectColor and setPosRectColor methods have been removed.

The setColor (getColor) method is added to specify the selection marker color and the pos marker color.

LwNotebook This component has been improved heavily. The main purpose was to simplify the component elements customization. As a result:
  • You can easily customize borders views for the notebook tabs.
  • You can easily customize the marker view.
  • You can easily customize the tabs content. It is possible to use any view as the tab content.
  • You can control the tabs indents by the new setTabIndents method.

The getTabAt method has been added to get the tab at the specified location.

The setGaps method has been added to specify gap for the notebook component pages.

The setTitleAlignment method is removed.

LwProgress The bundle element view is customizable. Use the setView method to specify a view for the bundle element.
LwLink The setHighlightColor, setPressingColor, setNonActiveColor methods have been changed to the setColor method that allows setting the text color for the given component state.
LwScroll
  • This component implements and uses own layout manager to layout its elements. Use the layout constraints to customize the scroll component elements.
  • The setBundleSize method has been removed.
LwScrollPan The getScrollbar method has been added. Use the method to get vertical or horizontal scroll bar component.
LwSlider This component allows the marker view customization. Use the setView method for this purpose.
LwStButton The addStateListener and removeStateListener methods have been added. Use the methods to listen whenever the components state has been changed.
LwTabBrView added This is default notebook tab border view.
LwEditorProvider This is new interface that is used as the editor component provider.
LwTabRender removed This is archaic view that relates to the old notebook component version.
LwTextField It is possible to select whole text field component text by the mouse double click.
TextEvent The event class has been modified to provide previous lines number. It is useful to determine numbers of lines that have been inserted or removed.
LwToolkit
  • The static fields that specify default fonts default foreground and background colors have been removed. The new version read the characteristics from the properties file.
  • The putStaticObj method has been added. Use the method to overwrite, remove or add the static object.
  • The LwToolkit class gets the static fields and methods from the Alignment class (removed).
  • The properties parser simplifies the string resources description. You can use the following format to specify a string:
      obj.cl="My String"
      obj.key=my.str
    
        instead of:
    
      obj.cl=java.lang.String
      obj.arg="My String"
      obj.key=my.str
                  
  • The properties parser supports RGB color specifying by the using the special prefix - '%'. For example:
      obj.cl=%255,255,255
      obj.key=white.color
                  
  • The properties parser supports a font specifying by the using the special prefix - '&'. For example:
      obj.cl=&Serif,0,12
      obj.key=my.font
                  
LwView The getInsets method has been changed to the getTop, getLeft, getBottom and getRight methods set.
LwWindow
  • The component elements customization has been re-worked. The new version uses the LwWinProducer class to build and get all window elements. To create an original window view for your application you should implement a window producer.
  • The maximize and restore methods have been added.
LwWinLayer The window layer gets the window events listener support. You should use the class to register a window events listener instead of event the manager class.
LwWinProducer added This class defines the window component "face". Create a producer if the window elements should be customized and set the producer for the window component.
LwTree The showLines, isLineShown, setLinesColor, getLinesColor, setSelectionColor and getSelectionColor methods have been removed.

The setColor (getColor) method is added to customize the selection marker and tree lines colors.

LwGrid The setSelectColor, getSelectColor, getNetColor and setNetColor methods have been removed.

The setColor (getColor) method is added to customize selection marker and grid net colors.

LwBWinProducer added This is window producer to be used by default.
Switchable This interface has been re-worked. The switchedOn and switchedOff methods have been reduced to switched method.
TooltipInfo The getTooltip method arguments list has been modified to have the target component as an input.
LwVCL Demo The LwVCL Demo application look and feel gets minor changes. The popup menu tab has been added to demonstrate the popup and menu bar components.
PJDemo (J2ME Personal Profile Demo) This J2ME Personal Profile demo application gets new banner element and the menu bar component has been added to demonstrate the new popup menu and menu bar components.
LwAWTEvent The constructor arguments list has been changed to have an event UID as an input argument. The MOTION_UID and WIN_UID constants have been removed.
LwEventManager The event manager doesn't support window events listener. Use the LwWinLayer for the purposes.
LwMouseMotionEvent removed The mouse motion event is similar to mouse event. The event class has been removed and the mouse motion listener gets the mouse event.
LwWinEvent removed There is not any sense to have the event object. All data can be passed directly into a window listener without the event object creation.
LwGridCaption
  • The titles views customization has been simplified. You can use any view to render the caption title. You don't need re-implement the view provider interface.
  • The setTitleProps method has been added to control caption titles alignments and background colors.
  • The caption event listener support has been added. It is possible to listen whenever the mouse has been pressed on the caption element.
  • The getCaptionAt method has been added to get a caption element (row or column depending on the caption orientation) at the specified location.
LwMenuBarSample, LwPopupMenuSample, LwWinMenuBarSample added The three new samples have been added. The samples demonstrate the new popup menu and menu bar components usage. Start the samples central application to see the demos.
LwSortedGridSample added The sorted grid sample has been added. It illustrates how to implement the column sorting ability for the grid component. Start the samples central application to see the demo.
Alignment removed The class methods and fields have been moved to the LwToolkit class.
PosEvent removed There is not any sense to have the event object. All data can be passed directly into a pos listener without the event object creation.
EvObject removed This is archaic class.
LwBorderPan The setGaps method has been added. The method allows you to specify the vertical and horizontal gaps for the central component.
New customizable (by the properties files) features The version extends the set of components elements and properties that can be customized by the properties file. The new elements that can be controlled by the properties is listed below:
  • def.font - specifies the default font.
  • def.bfont - specifies the default bold font.
  • def.sfont - specifies the default small font.
  • ln.font - specifies the link component font.·
  • def.bgcolor - specifies the default background color.
  • def.fgcolor - specifies the default foreground color.
  • tt.bgcolor - specifies the tool tips background color.
  • nb.br - specifies the notebook border view.
  • stbar.br - specified the status bar border view.
  • pr.br - specifies the progress bar component border view.
  • sl.marker- specifies the slider component marker view.
  • br.c1, br.c2, br.c3 - specify colors that should be used to render borders.
  • bpan.br - specifies the border panel border view.
  • popup.sub - specifies the popup menu component sub menu arrow view.
  • acont.layout - specifies the layout for the LwActContainer component.
  • sel1.color - specifies the color that is used to draw selection marker for the LwGrid, LwTree and LwList components when they have the focus.
  • sel2.color - specifies the color that is used to draw selection marker for the LwGrid and LwTree components when they don't have the focus.
The LwScroll and LwCombo buttons elements customization has been separated.

Enjoy !
Zaval Group