Extended Objects
The Extended Objects are BulletProofs own creations. These are advanced GUI elements based on the AWT that you can use within your own screens. They are all fully Java compliant and will execute identically under any Java VM in any browser.
TIP: The best way to learn how to use these objects is to open them from the examples folder in the JDesignerPro directory. Once open in the Application Builder, look at the source code and the Interaction Manager to understand how they are implemented. Look also at the Examples tab to see how they function. For information about the methods for each component, please see the API documentation.
Containers
Card Panel
The Card Panel is an implmentation of the Java Card Panel layout. Generally we recommend using our Tab Panel component if you wish to careate a multi-tabbed single form. Our Tab Panel is the Card Panel built to handle multiple tabs between which the user can toggle or the application can automatically jump.Tab Panel
The Tab Panel is an extensible component on which you place other components to build a set of multiple tabs. After placing the Tab panel on the screen, simply drop any component on it. The first component will insert itself into the tab. To place multiple objects one the same Tab panel, first place a Panel object on the desired Tab panel then add other components on top of that Panel.You do not add another Tab Panel object to make another tab on an existing set. To create another tab to the right of the previous one, simply place another component on the Tab Panel. Drop it in the Layout View or on the Tab itself on the design area. Both the component and a new tab will appear. The new tab will take the name of the newly added component. Any number of tabs may be built this way.
These Tabs are for use within a main, top level menu not as the top level hierarchy itself. Adding Tab Panels to a screen module will place those panels within the main tab of this module. To make the top level tab menu hierarchy, use the Menu Maintenance area under System Maintenance. The Projects you build become main menu items. If you use too many Tab Panels in one screen, the screen may become too slow to load into the Builder and into the deployed application. We recommend using no more than five sub tabs inside an application module. Top level tabs can be unlimited and should be used most of the time.
You may want to have one action on a JDesignerPro screen to start an action on another screen and bring that other screen to the foreground. This will be automated in a later version of JDesignerPro, but for now you can do it with a little coding.
To control the Main JDP window tab panel use the following handle:
user.jdpMenuPanel.loadPrevTab();
Scroll Panel
The Scroll Panel is used for building forms that may go off the edge of the screen. Use this component under your forms and if the user's desktop does not handle theChisel Panel
The Chisel Panel is used for aesthetic touch to your forms. It is a panel component on which you may place one other component. The component placed inside a Chisel Panel takes on the entire space of the Chisel Panel. However, you may place a Panel Component inside a Chisel then more than one component inside of that one. For example if you want a list box and some buttons inside a Chisel, add a Panel then make it a 1x2 Grid Layout then add the List box and JDPButtons.Split Panel
This component gives you a panel of two sides that can be resized at run time by the end user. This is similar to the way you can now resize the Layout View and other parts of the JDesignerPro development environment. The Split Panel allows the end user to drag the width of part of the panel to the desired size when the mouse is placed over the split line. The split line is hidden but the pointer will automatically change to a double horizontal arrow when exacly over it.
Components
JDPButton, JDPButtons
The JDPButton and JDPButtons components are flexible button elements that offer more than basic Java buttons. A JDPButton can have a Label, a graphic or both. There is a list of graphic icons to choose from in the Properties menu for each JDPButton.
The difference between the two is that with JDPButtons, you may select exactly how many buttons to create and that number will be laid out side by side according to the Vertical or Horizontal setting in Properties. The buttons will conform to the size of their contents. JDPButton can not be expanded to represent more than one button.
You should generally avoid changing the Labels field to Yes before adding icons to the buttons. Removing the labels while no icons are on the buttons may cause them to redraw improperly. As you add text and icons to the JDPButtons they may not automatically resize. Click twice on Main in Layout View and choose Refresh to have them refit the new contents.
JDPButtons must have at least one character in the Btn#X field (Label field) for each button, even even if you set Labels to No. JDesignerPro needs the label to track the button in the code. Most developers simply place numbers 1, 2, etc. in the label field as place holders if no labels are desired.
The best results with JDPButtons is to lay them out with East, West, North or South position on a Border Layout. The edges of the buttons always lay flush against each other. If more buttons are added than can fit on a single row, the JDPButtons component will cut off the set after the last button that can fit on the row or column.
Date Box
The Date Box object is a handy component you can use for any field requiring a date entry. It looks like a pull down to the user but reveals a monthly calendar once pulled-down. The date chosen in the calendar will appear in MM/DD/YY format in the field. The user can scroll back and forth, month to month, with the arrows in the upper corners.
Spinner
This is a classic Spinner object. It is a field that will show the current value of a column in the data base and can be used to easily increase or decrease the value with te mouse by clicking on the up or down arows on the object.
Calendar
The Calendar is similar to the Date Box in that it displays the same calendar object as the Date Box does but without the entry field and pull down. The Calendar will fill the width of the panl on which it is placed with a scrollable, month to month, calendar. When a date is chosen it does kick off events that you can use to trigger other actions.
Popup Menu
Use the Popup Menu object to create your own modal popups that offer menu items, like those used in JDesignerPro on the Layout View tree when you click twice on an object.
Grid Panel
This Grid component is essentially the Detail Grid component but that is not automatically bound to a database. You can pass any values to this grid, whether from a database, from calculated fields or from values entered by the user. This Grid can be used for adding records to the database without viewing the data prior. Read the JDesignerPro API documentation for more technical detail about this and other Extended Objects.
Tree Structure
Like the Grid Panel, the Tree Structure Extended Component does not use the Data Wizard inherently as does the Result List Data Component. You may pass information to the Data Structure from any source and build a drill-down query tree to view any elements.
Use the Interaction Manager to access the local and standard methods of the Tree Structure. Read the JDesignerPro API documentation for more technical detail about this and other Extended Objects.
File Picker
Add your own File Picker to any application you build. This is the same file picker as used in JDesignerPro to open and save files. It will work equally well on Windows and UNIX with no modification by you.
Image
This component lets you load a TIF or GIF image. Set the path of the image in the properties or use the Interaction Manager to dynamically set the path based on an action or event, such as loading a new data record. You can have the path of the image load into a field from a table. That fields contents can be passed into the setImagePath(String) method using the Interaction Manager. Then make that field with the image path a non-visible field under its properties list.
HTML Browser / Panel
The HTML browser component is available to for use on any number of screens. This is a great way to put in your own help text with clickable links. JDesignerPros HTML browser supports a variety of standard HTML 1.0 tags, although it does not support tables, frames, forms and other advanced HTML definitions. The HTML Browser component is the same as the HTML panel except it includes Next and Back buttons which automatically track navigation.
To use one of these components, simply assign an HTML file as the initial file. It need only be the local drive path or through the web server, i.e.: Docs/JDesignerPro/Help1.htm, or similar path. The HTML Panel remains gray until a compatible document is passed to it. Once it loads a compatible document is loaded a text area with default white background appears.
To create an HTML file to load into the JDesignerPro HTML panel, use either a text editor or a popular website design tool such as MS- FrontPage or NetObjects Fusion. HTML tags that are not supported by the JDesignerPro HTML panel will simply be ignored.
The supported tags include:
<HEAD> </HEAD> For the document header
<BODY> </BODY> To start and end the body of the document.
<CENTER> </CENTER> To center text on the page.
<A HREF= "X" > </A> For links, Where X is the link URL.
<COLOR TEXT= X > </COLOR> Where X is a major color, Blue, Red, etc.
<FONT SIZE= "X"> </FONT> Where X is any number from 10 to 40.
<UL> <LI> </UL> For bullets. Each <LI> is a bullet within the <UL> tags.
<OL> <LI> </OL> For an ordered, or numbered, list.
<IMG SRC=X> Where X is the path and name of image to display.
<BR> Line break.
<P> New paragraph. Unlike regular HTML, you may use several <P> tags in a row to separate text further than a single paragraph away.
<I> </I>For italics.
<B> </B> For bold text.
Dialogs
JDPDialog
the JDPDialog is a powerful and easy to use component for creating modal dialogs in your applications. The methods that control the Dialog are exposed in the Interaction Manager and are documented in the API.
Message Box
Similar to the JDPDialog, the Message Box creates a modal window that displays a message with an OK button to close it. There is no dialog with the user, simply a one-way message.
Other
Popup Component
Use the Popup Component to make any other object you desire appear at the click of a mouse or based on some other event. For example, BulletProof used our own popup component to make the Date Box object.
Drag and Drop
Apply Drag and Drop capability to your own applications.