Be creative - build your own panel!

Under construction!

 

A custom User Input Panel is an xml file named userInputSpec.xml.

More information

Step 1 - Introduce the custom panel

To use a custom user input panel you have to add the following xml code to the install.xml:

<panels>
	...
	<panel classname="UserInputPanel"/>
	...
</panels>

Put the panel tag in the right order of your panels defined in the panels tag. Now specify the location of the userInputSpec.xml in the resources tag of the instal.xml.

<resources>
	...	
	<res id="userInputSpec.xml" src="userInputSpec.xml" />
	...
<resources>

 

Step 2 - userInputSpec.xml skeleton

<userInput>
    <panel order="0" layout="left">
        <field type="text" variable="value1">
            ...
        </field>
    </panel>
</userInput>

This xml code should be put in the userInputSpec.xml file. This is the skeleton description of a custom user input panel.

XML TagDescription
<userInput>
Root xml tag
<panel>
Definition of a panel; Multiple panels possible
<field>

Definiton of a gui element; One gui element per <field > tag

 

Step 3 - Supported gui elements

The following description should be considered as an introduction of available gui elements of IzPack. Detailed information can be found in the official (but an old) IzPack documentation.

User Input Elements

ElementCodeScreenshot
Text Input
<field type="text" variable="textInput">
  <description align="left" txt="A description for a text input field"
      id="description.text"/>
  <spec txt="Enter some text:" id="text.label" size="15" set="some text"/>
</field>
Combo Box
<field type="combo" variable="radioSelection">
  <description align="left" txt="This is a description for radio buttons"
            id="description.radio"/>
  <spec>
          <choice txt="the first choice" id="radio.label.1" value="1 selected" />
          <choice txt="the second choice" id="radio.label.2" value="2 selected" set="true" />
          <choice txt="the third choice" id="radio.label.3" value="3 selected" />
          <choice txt="the fourth choice" id="radio.label.4" value="4 selected" />
  </spec>
Radio Buttons
<field type="radio" variable="radioSelection">
  <description align="left" txt="This is a description for radio buttons"
            id="description.radio"/>
  <spec>
          <choice txt="the first choice" id="radio.label.1" value="1 selected" />
          <choice txt="the second choice" id="radio.label.2" value="2 selected" set="true" />
          <choice txt="the third choice" id="radio.label.3" value="3 selected" />
          <choice txt="the fourth choice" id="radio.label.4" value="4 selected" />
  </spec>
</field>
Check Box
 <field type="check" variable="checkSelection.1">
  <description align="left" txt="This is a description for a check box"
            id="description.check.1"/>
  <spec txt="check box 1" id="check.label.1" true="on" false="off"
      set="false"/>
</field>
Password
<field type="password" align="left" variable="the.password">
  <spec>
    <pwd txt="The Password:" size="25" set=""/>
    <pwd txt="Retype Password:" size="25" set=""/>
  </spec>
</field>
File
<field type="file" align="left" variable="the.file">
  <spec txt="" size="25" set=""/>
</field>
<field type="staticText" align="left" txt="Existing SSL keystore to import:"/>
 <field type="file" align="left" variable="existing.ssl.keystore">
   <spec txt="" size="25" set="$myconfig" />
 </field>

 

 

Multiple filessee documentation. 
Directory
<field type="dir" align="left" variable="existing.jboss.home">
  <spec txt="" size="25" set="$INSTALL_PATH$FILE_SEPARATOR${jboss.version}" mustExist="false" />
</field>
Rule Input Fieldsee documentation 
Search Field
<field type="search" variable="java_sdk_home">
  <description align="left"
               txt="This is a description for a search input field."
               id="description.java_sdk_home"/>
  <spec txt="Path to Java Compiler:" checkfilename="/bin/javac"
        type="file" result="directory">
  </spec>
</field>

 

Visual Elements

ElementCodeScreenshot
Static Text
<field type="staticText" align="left"
       txt="This is just some simple static text with variable substitution in here: $myvariable."
       id="staticText.text"/>
Title
<field type="title" txt="This is my title" id="mytitle"/>
Space
<field type="space" />
 
Divider
<field type="divider" />