Browse Prior Art Database

A UI (User Interface) container that arranges components in a grid of cells that are in rows and columns, the number of rows and columns being configurable through a resize of the container, through mouse drag.

IP.com Disclosure Number: IPCOM000028965D
Publication Date: 2004-Jun-09
Document File: 4 page(s) / 24K

Publishing Venue

The IP.com Prior Art Database

Abstract

In Java, the layout associated with a container controls the display of components on the container. A layout automatically arranges components on a container according to the rules set for the layout.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 40% of the total text.

INVENTION TITLE

A UI (User Interface) container that arranges components in a grid of cells that are in rows and columns, the number of rows and columns being configurable through a resize of the container, through mouse drag.

PROBLEM/BACKGROUND: 

In Java, the layout associated with a container controls the display of components on the container. A layout automatically arranges components on a container according to the rules set for the layout.

Currently, most of the layouts that Java provides (that support arranging components in a grid), expands each component to fill the available space within it’s cell, when the container is resized through mouse drag. None of the layouts provides the provision of adding/removing rows and columns to fill the available space. Hence after a resize, the container will still display the components in the same row-column configuration with extra spaces between the components, if the individual components are not resizable.

INVENTION DESCRIPTION: 

By overriding the default behavior of the container when it is resized, and by using one of the existing layouts, it is possible to add or remove the required number of rows and columns based on the nature and amount of resize.

Whenever the container is resized, the number of rows and columns that is to be displayed after the resize is calculated using the dimensions of the container and the individual components.  The container is invalidated (displayed components are removed from the container), the grid associated with the layout is updated to reflect the new row and column configurations, and the components are added back to the container.  The container is then packed to remove empty spaces between the individual components.

When the container is resized, it is first determined whether to add/remove rows or to add/remove columns.

                        Amount of vertical resize = container height after resize – container height before resize

                        Amount of horizontal resize = container width after resize – container width before resize

                       

If modulus (Amount of vertical resize) > modulus (Amount of horizontal resize), rows need to be added/removed. If Amount of vertical resize is positive, rows need to be added, else rows need to be removed.

If modulus (Amount of vertical resize) < modulus (Amount of horizontal resize), columns need to be added/removed. If Amount of horizontal resize is positive, columns need to be added, else columns need to be removed.

Handling vertical resize:

If it has been determined using the above procedure that the vertical resize has to be handled, then the number of rows that needs to be displayed on the container is first determined.

                        Number of rows to be added/removed = Amount of resize / Height of a component*.

                        Number of rows to be displayed = Currently displayed row count + Number of rows to be add...