The directory field is essentially the same as the file field except it the selection is limited to directories only, not single files.

<field type="dir" align="left" variable="existing.jboss.home">
  <spec txt="" size="25" set="$INSTALL_PATH$FILE_SEPARATOR${jboss.version}" mustExist="false"/>
</field>

 

The directory supports the following two special attributes for the <spec> element:

Name

Required

Description

Value

mustExist

no

Specifies whether or not the selected path must be an existing directory.

true, false default: true

create

no

Specifies whether or not the selected directory should be created if it does not exist. (requires mustExist=false)

true, false default: false

 

The directory supports a <description> element that can be used to provide information about the purpose of the directory field.
See Fields documentation for more detail.

<field type="dir" align="left" variable="encrypted.dir">
 <description id="encrypted.dir.info" txt="Which directory would you like to be encrypted?" />
 <spec txt="" size="25" set="" mustExist="true"/>
</field>

 

Messages for the directory field can be customized by creating a custom lang pack and overriding the following values (attribute values wrapped for readability):

<str id="UserInputPanel.dir.nodirectory.message" txt="You must select a valid directory."/>
<str id="UserInputPanel.dir.nodirectory.caption" txt="No Directory Selected"/>
<str id="UserInputPanel.dir.notdirectory.message" txt="The directory you have chosen either does not exist or is not valid."/>
<str id="UserInputPanel.dir.notdirectory.caption" txt="Invalid Directory"/>

Note: Mixing directory fields with other fields that have text in front of them can lead to formatting (layout) issues. Placing these types of elements on different panels can provide a much better user experience.