[Image] EchoPoint
Helping you build truly dynamic and stateful web applications!

EchoPoint Version History

By Brad Baker
Monday, March 15, 2004


v0.9.5 Changes to this release include:

  • The TabbedPane can now uses images as its tabs.  There is a new echopoint.tabbedpane.TabImageRenderer interface that provides images for a tab.  There is also a new echopoint.tabbedpane.DefaultTabImageRenderer class that implements this and uses the dynamic text/image capabilities of TextImageReference to create tab images that have dynamic text content.
  • Added the ability to include CSS stylesheet information in HTML templates as well as JSP templates.  For more details on this see this article

This new capability allows for embedded stylsheets in HTML templates such as :

    nextapp.echo.Button {
        font : font(verdana,bold,12);

And embedded stylesheets in JSP templates such via :

<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/echopointtags.tld"   prefix="echo" %>

    nextapp.echo.Button {
        font : font(verdana,bold,12);

  • Added a new echopoint.HtmlContainer component.  This is very similair to HtmlTemplatePanel except that it does not implement the ScrollableContainer methods that HtmlTemplatePanel does.  It is much better suited when using light weight HTML fragments.
  • Added a new echopoint.util.ComponentKit toolkit class that has methods for manipulating a hierarchial tree of Components.
  • Added a new echopoint.util.URLKit toolkit class that allows for loading of application resources into java.net.URLs.
  • Added a new echopoint.image.URLImageReference class that allows any URL to be served as an image.
  • Added the new echopoint.template.SwitchedDataSource class, which allows for new strategies when finding application template resources.
  • Added the ability to set a "group name" on a echopoint.DropDownBox.  Only the one DropDownBox with the same group name can be dropped down at the one time.


v0.9.1 Changes to this release include:

  • Added a new ExternalEventMonitor component that has the ability to receive external events from other web pages.  You can now "link" to a running Echo web application with an URL like "/context/servlet?E_id=ExternalEvent&p1=v1&p2=v2 " and an ExternalEvent will be raised inside the application.  The "external link" can be a post or get operation.
  • Implemented a new caching scheme in HtmlTemplatePanel  so that references are not left forever in the cache.  This was preventing the Garbage Collector from reclaiming old templates.  The new caching scheme is based on timed access object expiry.
  • GroupBox now implements echopoint.positionable.Borderable, and hence allows for different styles of borders.
  • PushButton now implements echopoint.positionable.Borderable, and hence allows for different styles of borders.
  • The ChartPanelUI peer will now always "redraw" its AWT chart upon each invocation so as the reduce the memory overhead holding onto the AWT image data.  This comes of course at the cost of more processing overhead.
  • Added new methods to ImageKit to allow for better image  loading as well as transparent image support.
  • Added a new feature to TextImageReference that allows for the background image to be scaled to fit the contained text.  This is especially useful for dynamic buttons.
  • Changed TreeModel so that any hierarchial object collection can be used as a TreeModel, not just ones based on TreeNode
  • Changed TreeModel so that it is responsible for providing unique string identifiers not the TreeCellRender interface.


  • Fixed a bug in ClientDatePicker so that is now works correctly with SelectFields and ComboBoxes in Internet Explorer
  • Fixed a bug in HtmlTemplatePanel where TextSubstitutions (<text name.. />) where not working correctly
  • Fixed a bug in HtmlTemplatePanel where CSS style sheets where no longer being re-created properly.
  • Fixed a bug in SortableTableHeaderRenderer where horizontal text alignment was not being set properly.
  • Fixed a bug in NonSortableTableHeaderRenderer where horizontal text alignment was not being set properly.
  • Fixed a bug in RichTextArea where the last "edit" was being saved properly.
  • Fixed a bug in PngEncoder where a BufferedImage cast was being performed on a standard Image object.
  • Fixed Tree so that it no longer casts internally to TreeNode

v0.9 Changes to this release include:

  • Added a ClientDatePicker component that allows the user to choose a date without requiring a round trip to the server.
  • Added a Beep component that can sound a beep when a page is displayed.
  • Added a SubmitButton that allows form data to be posted to another web application.
  • Added "rich" tool tip support to most EchoPoint components.  Now they can have a floating tooltip that shows "complex and rich" text, not just a plain text string.  This is provided by the ToolTipPopupSupport interface and the ToolTipPopUp component.  Thanks to George Sendt for this.
  • Added new methods to ColorKit to allowing you to "tint" a color.
  • Added "image map" support to ChartPanel so you can now click on an element of the chart, such as a line or bar, and have it raise and ActionEvent.
  • DialogPanel objects can be stacked one on top of each other.  This means you can now nest a DialogPanel inside another DialogPanel and have it work in the same modal way.
  • PickList list boxes can now have ListCellRenderer objects attached.
  • HourGlass components can now be positioned better to precise {x,y} locations.
  • TitleBar text is now clickable if the setTextClickable() method is called.  This raises a TitleBar.ACTION_APPLICATION event.
  • Fixed a bug where certain EchoPoint components would cause an ConcurrentModificationException when placed inside a JspTemplatePanel.
  • Fixed a bug in HtmlTemplatePanel text substitution.
  • Fixed a bug in ComboBox where the on change handler was not being run for the first entry.
  • Fixed a bug in SelectableTable when the model was being set.
  • Fixed a bug in DialogPanel where DialogListeners where not being notified correctly.
  • Fixed a bug in DialogPanel where it was not being positioned on the centre of the screen properly
  • Fixed a bug in Timer that prevented it "popping" correctly when used with default values.
  • Fixed a bug in Popup so that select fields are hidden on IE
  • Fixed EncodedImageReference so you can now have "on demand" image data, rather than just cached.

v0.8 Changes to this release include:

  • The JspTemplatePanel taglib support now has a new taglib name of "component".  The old name "echoComp" has been retained for backwards compatibility.  See Using HtmlTemplatePanel and JspTemplatePanel for more information.
  • Updated HtmlTemplatePanel and JspTemplatePanel so that they now can embed Component with style information.  This is done via a
    <object name="xyz" style="background:#fcfcfc" /> in the case of HtmlTemplatePanel and <echo:component name="xyz" style="background:#fcfcfc" /> in the case of JspTemplatePanel.
  • CssStyleSheet now uses reflection and setter methods to set style attrbutes that are not set via the Component.applyStyle() method.  This means that any arbitary Component property can be set via CssStyleSheet.  See Cascading Style Sheets for more information.
  • Update the Panel derived components in EchoPoint so that they all derive from echopoint.Panel.  This ensure they are all LayoutManageable, and hence can have LayoutManagers associated with them.
  • Added a set of new properties to DatePicker that allow even more customisation of the component.  Most obvious is the ability to display week of year information as well as control whether the navigation arrows are shown.  Thanks to Georg Sendt for sending in this patch.
  • Changed SelectableTable so that it now renders a radio button when the table is in single selection mode and a checkbox when it is in multiple selection mode.  This is more visually correct.
  • Fix the LayoutManagerFactory properties file so that it instantiates HorizontalLayoutManagers correctly.  This was previous ommited.
  • Fixed PopUp component so that it hides select fields when running on Internet Explorer.  Without this fix, select fields could been seen above the PopUp contents.


v0.7 Changes to this release include:

  • Added a new ComboBox component that allows the user to select options from a list as well as type in their own values.  It is derived from TextField but it has a ListModel like SelectField.  It can also perform "option matching" as the user
  • Added a new RecallComboBox component that can remember what has been entered by the user before and will add these previous entries to its internal ListModel.  This is derived from ComboBox.
  • Removed the echopoint.ListModel and used the nextapp.echo.ListModel.  This should never have been duplicated.
  • Fixed SelectableTable rendering so that rollover and selection background colors always change all backgtround colors in a row.  Previously there was a problem if other components had backgrounds and were placed inside table row cells.
  • Fixed a bug in TimeField where underlying SelectFields where not being restored when the drop down went over the top of them.
  • Fixed the HtmlTemplateLayoutManager so that it now use the same CSS value formats for its templated properties.
  • Fixed the DateField and TimeField so space is not set aside for the invalid color if it is set to null.  Also tweak appearance a little so there is no spacer between the button and the text field, and the button is now top aligned
  • Fixed a font specification issue in CSS style sheets where spaces between the bold|underline|italic part caused a StyleSheetException. 

v0.6 Changes to this release include:

  • Added a new RichTextArea component that allows HTML rich text editing.  This component requires IE 5.5 or Mozilla 1.3 or better.  This component uses the rich text capabilities of the client browser to allow the user to edit HTML markup.
  • Added an HourGlass component that can display an image whenever a server side interaction takes place.  This is useful for giving the userdefinite feedback as to when a server interaction is taking place.
  • Added a JavaScriptButton component that allows "arbitary" JavaScript to be executed when pressed.  This is useful for example to open a window that is independent of the Echo framework or displaying an alert dialog box.
  • Fixed a bug in DateField where underlying select fields were being hidden but not being restored.
  • Fixed a bug in HtmlTemplateLayoutManager and the HTML template code where static component properties defined in the actual markup where not being applied if the HTML markup DataSource was re-used between layout instances.

v0.5.1 Changes to this release include:

  • This release is essentially a maintenance release to fix some bugs and performance issues in the 0.5 release.
  • Fixed a bug in ExpandableSection where the no parameter contructor could throw a NullPointerException.
  • Fixed a change in behaviour bug in TabbedPane where the pane no longer filled all avilable space and with some content the right hand side border could be lost using Internet Explorer.
  • Fixed a bug in ScrollableTable whereby the "save scroll position javascript" was not included properly
  • Improved the memory usage of TabbedPane and WizardPane so that only the current component is given a rendering peer.

v0.5 Changes to this release include:

  • Tested EchoPoint against the new official Echo 1.0.2 release.  This release is now inlcuded in the the binary support jar files.
  • New CSS StyleInfo regime put in place.  Now all Echo and EchoPoint classes have a StyleInfo support class that provides style information. This support has been modelled on the standard java.bean.BeanInfo regime.  It also formalises the Symbolic Value handling of CSS and make it more extensible.
  • Added an echopoint.Panel component, which is derived directly from nextapp.echo.Panel, which can have a LayoutManager specified.
  • Added an XyLayoutManager class that allows {x,y} placement of any Echo component.
  • Added PopUp component that can pop up over top of any other components.
  • Added a BallonHelp component, derived from PopUp, that looks like the Windows balloon help.
  • Added Style and StyleInfo support to DefaultTreeCellRenderer, so that it Tree can be more easily customised.  If the TreeCellRender is derived from Component, then it is added to the Echo component hierachy to allow Style processing to occur.
  • Added a DevNull component that "swallows" any components that are placed within it.  It will not render any components but they are still valid within the EchoPoint component hierarchy.
  • Fixed the Tree so that it correctly detects when the TreeModel has changed and hence minimises the number of times the Tree invokes the TreeCellRenderer.  This can significantly reduce the number of components needed to render a Tree, and makes custom TreeCellRenderes easier to develop.
  • Ensure all LayoutManageable containers now have a contstructor that takes a LayourManager.
  • Fixed a bug in DateField that cause an infinite loop when text was programmatically set.
  • Fixed a bug in JspTemplateLayoutManagerUI where a null bean content could cause a null point exception.
  • Made ExpandableSection more sensible by allowing multiple child components and removing the setContent() method.  You should now add content to the ExpandableSection via the standard add() method.
  • Fixed a JavaScript bug in PickList whereby it did not work properly in a DialogPanel.
  • Fixed a bug with the rendering of TabbedPane, whereby nested TabbedPanes could render incorrectly.
  • Fixed a bug in ConfirmButton where it could still show a message even when it was disabled.
  • Fixed a bug in SortableTable rendering when the SortableTableModel is empty.
  • Fixed CssStyleSheet child processing so that all levels of child components have Styles applied to them and all children are watched for new children so that the Styles can be applied as intented.
  • All EchoPoint components are now JavaBean compliant, specifically their constructors.
  • The Component Viewer application can now generate CSS files for a given component.  This is now possible because of the CssStyleSheetWriter class and the new StyleInfo support class regime.

v0.4.1 Changes to this release include:

  • Tested EchoPoint against the new official Echo 1.0 release.  This release is now inlcuded in the the binary support jar files.
  • Updated EchoPoint to use the new JFreeChart 0.9.8 classes.  JFreeChart has been moved to a new code base under org.free.chart.*.  It also has Serialization support which fixes a previous issue with ChartPanel not being serializable.  The new JFreeChart libraries are included in the EchoPoint binary release.
  • Added an ImageIcon component that allows an ImageReference to be displayed scaled to different dimensions than what has been initially defined in the ImageReference.  It also allows the image to be clickable and hence raise ActionEvents.
  • Added a HorizontalLayoutManager and HorizontalPanel component that lays out its content left to right in a continous horizontal fashion.  This can be used as a easier alternative to Grid layout.
  • Added a DropDownBox component that allows a collection of Components to be "dropped" down, much like a SelectField, when a button is clicked upon.  The contents that can be dropped down is any collection of Components.
  • Added a TimeField component that allows the user to enter in a time value from a drop down of valid time values.
  • Added a NumberFormatField component that allows the user to enter in numerical data.  A java.text.NumberFormat is attached to the TextField derived component and validation is performed against this format.
  • The SortableTable class has been improved so that it no longer overwrites any SortableHeaderRenderer that may have been placed into it.  Also improved the handling of "enabled" cells within the table when the Table itself is disabled.  The class now "listens" for structural changes to its TableModel and ensures the current SortableHeaderRenderer is applied to any new columns (if they dont already have a header renderer).
  • The rendering of SelectableTable now allows for rollover and selction on multi-colored table cells.  Previously the browser "color inheritance" feature effectively stopped the rollover and selection effects.
  • Rearranged the Scrollable, Positonable, Borderable and Clippable interfaces so that they define their public constants in the Interfaces themselves rather than in the classes that implement these interfaces.  This really should have been done right from the start.  Luckily no code has been affect by this change.
  • Used the Eclipse Java compiler feature to find all variables that are never referenced.  This identified numerous examples of harmless yet redundant code.  These anamolies have been cleand up across a number of classes.
  • Improved many of the default component models so that they can handle a null object value.  For example the DefaultColorSelectionModel can now have a null color set as the selected color.
  • Added left and right arrow icons to DatePicker for a more pleasing aesthetic.  Also compacted the default display of DatePicker so it takes up less screen real estate.
  • Added support to ColorKit and FontKit to allows creation of Color and Font objects from symbolic strings.  The objects are cached to minimize the memory footprint and to maximise re-use.
  • Added a Component Viewer application that allows the JavaBean properties of a component to be visually manipulated.

v0.4 Changes to this release include:

This 0.4 version of the library requires :

  • EchoPoint 0.4 has been updated to work with Echo 1.0 Release Candidate 1.  All depecrated methods have been updated and a minor Button action event raising bug has been fixed.  This accounts for the major version number jump to 0.4.  You now MUST use Echo 1.0 RC1 with EchoPoint 0.4 because of new public methods etc...
  • Added new image classes, that allow new Image encoders as well as the ability to write formatted text to an template image dynamically.  The classes are ImageEncoder, EncodedImageReference and TextImageReference.
  • Updated SortableTable so it now has a peer renderer class.  Also gave it the ability to have a scrollable data section and a fixed header section.
  • Updated SelectableTable to have rollover foreground and background colors as well as selection foreground and background colors.  Added support for server side ActionEvents to be raised when a user clicks on a SelectableTabel data row.
  • Created a new EPBE JavaScript library for manipulating DHTML elements.  Updated all JavaScript libraries to us it where applicable.
  • Added new mouse drag support to DialogPanel.  It can now be dragged around the browser window when showing.  Uses a drag outline to help ensure a smooth drag effect.
  • Added DialogListener/ DialogEvent classes so that you can now listen for when a DialogPanel is opened or closed.  Also wired up the dialog TitleBar to close the dialog if they click on the Close icon.
  • Updated ExitButton so it no longer requires an EchoInstance at construction.  It now uses its inherited getEchoInstance() method to retrive the EchoInstance.
  • Updated DialogPanel, HidingSlidingPanel and DateField so that they hide <select> elements on the client browser before they show themselves.  This  is done on IE to get around the bug where <select> elements have an infinite zindex and always show above all other elements.
  • Updated the DefaultTreeIcon class to have image witdths and heights
  • Updated all deprecated Element.addElement() method calls to Element.add() method calls.  This affect virtually every ComponentPeer rendering class.
  • Removed the DYNAPI Javascript library and support classes from EchoPoint.  It now uses the home grown EPBE JavaScript library.

v0.3 Changes to this release include:

  • Re-organised the project directory strucuture to allow EchoPoint to be more easily developed using Eclipse.  Now all source code and class files are compiled under the one parent directory, as Eclipse expects.  This allows the use of Tomcat debugging from within Eclipse.
  • Added a new ExpandableMenu component.  This shows an expandable hierarchy of components, which can act like a menu.
  • Added a GridLayoutMananger layout manager that allows components to be added in a grid formation.  Has cursor positioning as well as auto expnading heights.  A GridPanel is also provided that uses GridLayoutManager as its default layout manager.
  • Consolidated the WizardNavigationListener and WizardNavigationEvent so it now has one onNavigation method and integer indicators of what type of wizard navigation just took place.
  • Added buffer re-use in the Html Template support code so that large memory buffers are re-used and also referenced by soft references, to allow for memory reclaim if needed.
  • Removed the WizardController class which was no longer used and should have been removed several versions ago.
  • Removed the ConsoleLayoutManager layout manager as it has been completely eclipsed by the GridLayoutManager.
  • Fixed a bug in HTML template support code that did not remove internal text from between <text name="">remove this text</text> tags.  The text subsitution still works as before.
  • Fixed a bug in the JSP template support code that prevented image and javascript includes from being rendered by JSP wrapped components.
  • Fixed a bug in the CSS style sheet classes that cause integer arrays to be missing one parameter.
  • Used the Eclipse advanced Java compiling to give warnings on un-used imports and a general re-orgnaisation of package imports.


v0.2.6 Changes to this release include:

  • Added a new DateField component that allows a user to type in and select dates.
  • Added a new SelectableTable component, which allows selection of table rows.  This is also sortable and the selection will respect the original sort order.
  • Added a new JspTemplateLayoutManager that allows a JSP page to be used as a template.  Components can be added to this layout manager and then rendered via a EchoPoint taglib.  Thanks to Sam Taha for this contribution!  There is also a matching JspTemplatePanel component that can be used to contain components.
  • Added support to HtmlTemplateLayoutManager for inline text substitution.  Now tags in the markup like <text name="xyz"></text> can be replaced with variable strings.  The new TextSubstituition interface can be extended so you can provide your own source of text substitution.  A SimpleTextSubstituition class is provided that uses a HashMap of names to values.
  • Added support to the HtmlTemplateLayoutManager and support classes (such as DataSource) for character encoding.  It can now take a character encoding string and will read templates using that string.  This allows for other character sets to be used such as Chiness or Japanese encodings.  Thanks to gyb at dealeasy dot com for the inspiration and feedback on this issue.
  • Added ruler lines to ExpandableSection and a flag to turn them off or on.
  • Added a new Borderable interface that controls whether borders are painted around components. 
  • Put support for this new Borderable interface into the Panel container classes such as ScrollablePanel, ScrollableBox, HtmlTemplatePanel, NewsTicker and HidingSlidingPanel.
  • Changed SortableTable so that it nows makes it "cell header components" children components.  This allows style sheets and other mechanism to work.
  • Created an EmptyTreeSelectionModel that prevents any selection being made in a Tree.
  • Updated many of the model interfaces to have public access modifiers.  They had been incorrectly marked with no public access and hence you could not derive your own custom models.
  • Added super() calls in all component contructors.  It is important that the base class contructor be explictly called.
  • Updated the structure of the unit test sample code.
  • Made a number of bug fixes in response to SourceForge support requests :
    • Fixed Serialisation bugs in HtmlTemplatePanel and other areas.
    • Fixed Tables and Style Sheet bugs whereby styles are not applied to header cells.
    • Fixed a NullPointerException bug in CssStyleSheet when the property name is null.
    • Coded around an table issue whereby the nextapp.echo.DefaultTableModel does not fire updated events.


v0.2.5 Changes to this release include:

  • Changed most classes so that they now support java.io.Serializable
  • Added some custom writeObject / readObject methods to classes that have transient fields and must recreate objects after Serialization. Specifically the Component classes that use JFreeChat code is affected because the JFreeChart code does not yet implement Serializable.
  • Added a new DemoSerialization panel to the EchoPoint demo to test Serialization.
  • Tweaked the HtmlTemplateLayoutManager so that it handles ListBoxes and SelectFields better.
  • Fixed a bug in HtmlTemplateLayoutManager where tag handlers were not being added when expected.

v0.2.4 Changes to this release include:

  • Added a new DateField component.  This allows dates to be entered into a TextField and validated on the server.  It also provides a DatePicker drop down facility that allows the user to select a date via the mouse.
  • Added a new HtmlTemplateLayoutManager class and have moved all the code in the previous HtmlTemplateLayoutManager component into the new layout manager.  The previous HtmlTemplateLayoutManager has been retained however it is now a simple ScrollablePanel that uses the new template layout manager.
  • The backend HTML template support code has been tweaked to support the new layout manager scheme.
  • Added the ability to "compile" a template DataSource before it is displayed.  This allows component properties to be set after template compilation but before the templatre is displayed.  Previously there was no way to set component properties to override the template defaults.
  • Added a componentPropertiesSet property to HtmlTemplateLayoutManager.  This controls whether tags attributes in the template HTML will be transferred to the managed components at compile time.  This is on by default.
  • The layout manager classes are now no longer marked as EXPERIMENTAL.
  • The ExpandableSection now uses a 3 sided border around the content only.  It now longer draws it border around its content and title bar.  This makes for a much more pleasing visual look.
  • Added the new nextapp.echo.ToolTipSupport to many of the EchoPoint components. As such the EchoPoint library is now dependant on Echo v1.0 beta 4.
  • Added a new property to Tree that prevents TreeNodes with null action commands from raising events.
  • Added a new method to CssStyleSheet so it can now load via an URL.
  • Updated the demo to have a Tree as well as a Wizard and added a new StyleSheet demo panel.
  • Changed the ColorChooser component so that now has a new internal model listener.
  • Optimised Tree so that any components are added and removed from the component heirarchy in a more sensible way.
  • Fixed a bug in DatePicker whereby the Days along the top of the component do not match the days in the middle.
  • Fixed a bug in StringDataSource whereby a non null string always through an exception.
  • Fixed a bug in the Tree client JavaScript whereby the list of open nodes was not being maintained properly.
  • Javadoc spelling tweaks

v0.2.3 Changes to this release include:

  • Added a Thermometer component that shows a range of values as a "thermometer". This uses JFreeChart drawing capabilties.
  • Added a Tachometer component that shows a range of values as a "tachometer". This uses JFreeChart drawing capabilties.
  • Added a AbstractMeterComponent and new MeterModel classes to provide a skeleton "meter" class from which new "meter components" can be created.
  • Updated the JFreeChart support to v0.9.4 and the JCommmon support to v0.7.1. This is now required to compile EchoPoint, especially the demo and new Meter classes.
  • Updated Milonic menu JavaScript code to lastest 3.5.10 version.
  • Added top and left offset support for positioning Menu components relative to its MenuBar parent
  • Added full MenuItem image support. The property was always there, however they were not rendered by the Peer. They are now full supported.
  • Added menuBorderColor support to Menu. This is distinct from the MenuItem borderColor. The former is the border around a list of MenuItems. The latter is the border around the menu item text.
  • Added menuBorderSize support to Menu. This controls the size of the menuBorderColor line.
  • Added margin and padding support to Menu. Thse properties control the look of the Menu components.
  • Added Help and Application icons to the TitleBar component. These now both produce events that the container can listen for.
  • Added fullWidth and fullHeight properties to TitleBar. If the former is true, the the titlebar will fill its parent to its full width. If the latter is true, the the titlebar will fill its parent to its full height.
  • Changed SortedTableModel to it uses an int array copy rather than an int array clone. This was causing problems on 1.4 JVM under LINUX.
  • Removed Background Image and Background IMage Repeats properties from CSS style sheet support. They have been deprecated in Echo and are to be removed in the next Beta 3.

v0.2.2 Changes to this release include:

  • A memory leak issue in TreeUI has been resolved. Previously the ImageManager managed images were not being tracked correctly and this left unwanted references around and hence memory was leaked. This has been fixed.
  • The image management of TabbedPaneUI, and MenuBar have been revisited in light of the TreeUI memory leak. They have been made robust with their image handling.
  • A new FinishOnlyOnLast property has been added to WizardPane. If this is true, then the Finish button will only be shown if the current showing component is in fact the the last component within the WizardPane. Of course the Finish button must be non null to be rendered.
  • Removed the EmbeddedPane object which proved ineffectual. Mozilla does not have the full IFRAME rendering capabilities required and also ScrollablePanel has now superseded most of the EmbeddedPane functionality. Use a Scrollable component instead of EmbeddedPane.
  • The LayoutManager classes have been marked as experimental.
  • A separation of LayoutManager and LayoutManagerPeer renderer has occurrred. LayoutManagerPeers are created via a factory method, just like Echo ImagePeer objects.
  • Updated NewsTicker JS support which was not commit to CVS properly.

v0.2.1 Changes to this release include:

  • A LayoutManager interface has been added that allows the creation of custom layout managers. Support for Layout Managers has been added to GroupBox, ScrollablePanel and AbstractScrollableComponent classes.
  • Two LayoutManagers have been provided, a ConsoleLayoutManager and a BrowserLayoutManager. The latter is equivalent to todays Echo layout, ie components rendered one after the other in list order.
  • Updated NewsTicker so that it can scroll top to bottom, bottom to top, left to right and right to left. Previously it only support top to bottom.
  • Removed the dependency to EchoServer, in TreeNode and MenuItem. These classes can now be created without requiring servlet container to host the EchoServer and Id class. This allows for unit testing classes (eg. JUnit) to be developed before the final application testing.
  • Added drag capability to DialogPanel. You can now select the titlebar (if present) and drag the DialogPanel around via the mouse.

v0.2.0 Changes to this release include:

  • The Tree component can now display any component as a node within the Tree. This works for both server side and client side trees. If the DefaultMutableTreeNode class is used to contain a component, then it will be rendered by the DefaultTreeCellRender. If it is not one, then the toString() method is used to get a tree cell "string" value.
  • Tree line rendering can now cope with "arbitarily" large tree cells. The lines still line up as expected.
  • Changed to the TreeCellRenderer interface to accommodate this new Tree component capability.
  • Added TreeIcon interface and DefaultTreeIcon class to allow tree icons to be more easily changed.
  • Added new ConfirmButton component . This presents a client side "confirmation" dialog. If the user presses OK and event is raised, otherwise no event is raised.
  • Added a DialogPanel component. This component places itself above all others, and prevents the user interacting with them. In this manner is acts like conventional "Windows" dialog box. It is derived from Scrollable panel and hence can be precisely placed and scroll bars are available. Only one DialogPanel can be active at any one time.
  • Changed ExitButton parent class to be PushButton. Makes more sense.
  • Changed Scrollable interface to have getScrollBarX, getScrollBarY, setScrollBarX, setScrollBarY. Used to save the position of the scroll bar in a scrollable component
  • Added JS support for saving the position of the scroll bar in a scrollable component. Modified all the Scrollable component peers to use this support.
  • Added support in TitleBar class to specify your own icons for the left expand , right expand and close UI artifacts.
  • Updated DatePickerUI to display the selectable combo boxes as 2 font sizes smaller (as long as its greater than 8) . Looks much better.
  • DatePicker now has Locale support, and will render the display in the default Locale unless this is other wise changed. Previously it had hard coded English "day" names.
  • Fixed bug on HtmlTemplatePanel where select fields and buttons continued to be reset to their starting template value. Also fixed bug whereby an attempt to render an invisible component was being made.



SourceForge Logo

The EchoPoint project is kindly hosted by SourceForge