JideBuilder is a Groovy builder for the open source JIDE Common Layer
| Warning JideBuilder has been relocated to the Griffon project, please update your links to http://griffon.codehaus.org/JideBuilder. The information on this page may be outdated. |
Contribution Overview
JideBuilder will let you create Jide components and standard Swing components as SwingBuilder does, because it doesn't override the default names of previously registered components in SwingBuilder, this means that you can mix both types of components with the same builder.
import griffon.builder.jide.JideBuilder def jide = new JideBuilder() jide.edt { frame( id: 'frame', title: 'JideBuilder', pack: true, visible: true ){ panel( layout: new BorderLayout(5,5) ){ button( label: "Swing", constraints: BorderLayout.WEST ) jideButton( label: "Jide", constraints: BorderLayout.EAST ) textField( constraints: BorderLayout.NORTH ) calculator( constraints: BorderLayout.CENTER ) } }
There are 5 *Searchable components that will add searching capabilities to a previously created widget or an internal one, exposing the searchable widget and the searchable wrapper if an 'id' attribute was provided, for example ComboBoxSearchable:
import griffon.builder.jide.JideBuilder def jide = new JideBuilder() jide.edt { frame( id: 'frame', title: 'JideBuilder', pack: true, visible: true ){ panel( layout: new BorderLayout(5,5) ){ comboBox( id: "mycombo", items: [1,2,3] ) comboBoxSearchable( id: "c1", comboBox: mycombo ) comboBoxSearchable( id: "c2", items: [4,5,6] ) } } assertNotNull jide.ci_searchable
JIDE Common Layer defines a basic structure for dialogs with StandardDialog, which is an abstract class, you may create your own dialogs based on that template by calling 'standardDialog()', by default all 3 panels will be empty, but yout can provide your own content by calling 'dialogBannerPanel()', 'dialogContentPanel()' and 'dialogButtonPanel()' inside its closure.
All JTextComponents (even those created with regular SwingBuilder methods) will accept a 'selectAll' property, which will call com.jidesoft.swing.SelectAllUtils.install() on the component.
SearchableBar has an additional property 'install' which will register a SearchableBar.Installer automatically into the inmediate container. This property must be a Map and may have the following properties:
- constraints: must be a valid Object accepted by the container's layout (required).
- keyStroke: must be a javax.swing.KeyStroke, defaults to CTRL + F (optional).
Download
Pre-requisites
Groovy 1.6-beta-2 is the required minimum version to run JideBuilder 2.0
Previous versions of JideBuilder will run with earlier versions of Groovy, it is recommended that you upgrade to the 1.6.x series in order to take advantage of
- @Bindable and ASTTransformations
- short binding syntax
- numerous enhancements made to SwingBuilder and FactoryBuilderSupport
Documentation
Alphabetical list of components
| Element | Class | Notes |
|---|---|---|
| animator | Animator | |
| autoCompletion | AutoCompletion | Wraps an existing JComboBox with 'comboBox' attribute Wraps an existing JTextComponent with 'textComponent' attribute Will create an internal JTextField if 'textComponent' and 'comboBox' are ommitted If 'textComponent' is specified (or internal JTextField is created), 'searchable' or 'list' must also be specified Additional attributes may be set on the wrapped component |
| autoCompletionComboBox | AutoCompletionComboBox | |
| autoResizingTextArea | AutoResizingTextArea | |
| bannerPanel | BannerPanel | |
| bottom | JideSwingUtilities.createBottomPanel | |
| buttonPanel | ButtonPanel | |
| calculator | Calculator | |
| center | JideSwingUtilities.createCenterPanel | |
| checkBoxList | CheckBoxList | |
| checkBoxListWithSelectable | CheckBoxListWithSelectable | |
| checkBoxTree | CheckBoxTree | |
| clickThroughLabel | ClickThroughLabel | |
| comboBoxSearchable | ComboBoxSearchable | Wraps an existing JComboBox with 'comboBox' attribute Will create an internal JComboBox if 'comboBox' is ommitted Additional attributes may be set on the wrapped component Obeys 'items' when creating an internal JComboBox. |
| contentContainer | ContentContainer | |
| dateSpinner | DateSpinner | |
| dialogBannerPanel | DialogBannerPanel (from JideBuilder) | Use it inside standardDialog |
| dialogButtonPanel | DialogButtonPanel (from JideBuilder) | Use it inside standardDialog |
| dialogContentPanel | DialogContentPanel (from JideBuilder) | Use it inside standardDialog |
| dialogPage | DefaultDialogPage (from JideBuilder) | Use it inside a multiplePageDialog Add a 'closure' attribute as the body of lazyInitialize() default does nothing |
| fileIntelliHints | FileIntelliHints | Needs 'textComponent' attribute Additional attributes may be set on the wrapped component |
| folderChooser | FolderChooser | |
| gripper | Gripper | |
| headerBox | HeaderBox | |
| jideButton | JideButton | |
| jideBorderLayout | JideBorderLayout | |
| jideBoxLayout | JideBoxLayout | |
| jideMenu | JideMenu | Use a closure with 'customize' attribute to create a PopupMenuConfigurer |
| jideOptionPane | JideOptionPane | |
| jidePopup | JidePopup | |
| jidePopupMenu | JidePopupMenu | |
| jideScrollPane | JideScrollPane | |
| jideSplitButton | JideSplitButton | Use a closure with 'customize' attribute to create a PopupMenuConfigurer |
| jideSplitPane | JideSplitPane | |
| jideTabbedPane | JideTabbedPane | |
| jideToggleButton | JideToggleButton | |
| jideToggleSplitButton | JideToggleSplitButton | Use a closure with 'customize' attribute to create a PopupMenuConfigurer |
| labeledTextField | LabeledTextField | |
| left | JideSwingUtilities.createLeftPanel | |
| listDataIntelliHints | ListDataIntelliHints | Needs 'textComponent' and 'completionList' attributes, Additional attributes may be set on the wrapped component |
| listSearchable | ListSearchable | Wraps an existing JList with 'list' attribute Will create an internal JList if 'list' is ommitted Additional attributes may be set on the wrapped component |
| multilineLabel | MultilineLabel | |
| multiplePageDialog | MultiplePageDialog | |
| multiplePageDialogPane | MultiplePageDialogPane | |
| nullButton | NullButton | |
| nullCheckBox | NullCheckBox | |
| nullJideButton | NullJideButton | |
| nullLabel | NullLabel | |
| nullPanel | NullPanel | |
| nullRadioButton | NullRadioButton | |
| nullTristateCheckBox | NullTristateCheckBox | |
| paintPanel | PaintPanel | |
| pointSpinner | PointSpinner | |
| popupMenuCustomizer | DefaultPopupMenuCustomizer (from JideBuilder) | Use 'closure' attribute to define the body of customize() |
| rangeSlider | RangeSlider | |
| resizableDialog | ResizableDialog | |
| resizableFrame | ResizableFrame | |
| resizablePanel | ResizablePanel | |
| resizableWindow | ResizableWindow | |
| right | JideSwingUtilities.createRightPanel | |
| searchableBar | SearchableBar | Wraps an existing Searchable with 'searchable' attribute Additional attributes may be set on the wrapped component |
| simpleScrollPane | SimpleScrollPane | |
| splitButtonGroup | SplitButtonGroup | |
| standardDialog | DefaultStandardDialog (from JideBuilder) | Use 'dialogBannerPanel, 'dialodContentPanel' and 'dialogButtonPanel' to provide additional configuration for each panel |
| styledLabel | StyledLabel | |
| tableSearchable | TableSearchable | Wraps an existing JTable with 'table' attribute Will create an internal JTable if 'table' is ommitted Additional attributes may be set on the wrapped component |
| textComponentSearchable | TextComponentSearchable | Wraps an existing JTextComponent with 'textComponent' attribute Will create an internal JTextField if 'textComponent' is ommitted Additional attributes may be set on the wrapped component |
| top | JideSwingUtilities.createTopPanel | |
| treeSearchable | TreeSearchable | Wraps an existing JTree with 'tree' attribute Will create an internal JTree if 'tree' is ommitted Additional attributes may be set on the wrapped component |
| tristateCheckBox | TristateCheckBox | |
| svgIcon | ResizableSVGIcon |
|
Developers
Andres Almiray
Building
JideBuilder uses Ant as its build tool, which means that if you want to
build your own version of JideBuilder from source you'll need to have it
installed. Follow the instructions at http://ant.apache.org











