[izpack-users] Simple question about PathInputPanel

Christopher D. Jones chris.jonesey at gmail.com
Sun Feb 10 16:46:09 CET 2008

I have extended the PathInputPanel to make a custom panel to select a
directory needed for my installation.
The problem I am having is I cannot figure out how to set the label on the
panel.  The panel shows up but it looks like the default target install
I am sure I am missing something simple, so any help would be greatly

Here is my Java code:

package com.izforge.izpack.panels;

import javax.swing.JLabel;

import com.izforge.izpack.installer.InstallData;
import com.izforge.izpack.installer.InstallerFrame;

 * Input panel for the data path.
public class DataPathPanel extends PathInputPanel {

     *  The constructor.
     * @param  parent  The parent window.
     * @param  idata   The installation data.
    public DataPathPanel(InstallerFrame parent, InstallData idata) {
        super(parent, idata);
        headline = "FUBAR headline";
        headLineLabel = new JLabel ("FUBAR headlinelabel");

     *  Indicates whether the panel has been validated or not.
     * @return    Whether the panel has been validated or not.
    public boolean isValidated() {
        if (!super.isValidated())
            return (false);
        System.out.println ("isValidated");
        String chosenPath = pathSelectionPanel.getPath();
        if (chosenPath == null || chosenPath.length() < 1)
            return (false);
        idata.setVariable("DATA_DIRECTORY", chosenPath);

        return (true);

    /* (non-Javadoc)
     * @see com.izforge.izpack.installer.IzPanel#panelActivate()
    public void panelActivate() {
        // Resolve and set the default for chosenPath
        String chosenPath;
        // common lines for back steps...
        if (idata.getVariable("DATA_DIRECTORY") != null)
            chosenPath = idata.getVariable("DATA_DIRECTORY");
            chosenPath = idata.getInstallPath();

    /* (non-Javadoc)
     * @see com.coi.tools.install.panels.SummaryPanelClient#getSummaryBody()
    public String getSummaryBody() {
        return (String) (idata.getVariable("DATA_DIRECTORY"));

And here is my install file:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>

    To compile it :
    - go in the bin directory where you installed IzPack
    - call "compile ../sample/install.xml -b ../sample"

<installation version="1.0">

        The info section.
        The meaning of the tags should be natural ...
        <appname>Hello World</appname>
        <appversion>0.1 Beta</appversion>
            <author name="Ink Inc." email="me at ink.com"/>

        The gui preferences indication.
        Sets the installer window to 640x480. It will not be able to change
the size.
    <guiprefs width="640" height="480" resizable="no"/>

        The locale section.
        Asks here to include the English and French langpacks.
        <langpack iso3="eng"/>

    <str id="DataPathPanel.intro" txt="For the application configuration
directory, another path can be selected than the project directory. You can
choose the given project directory or select another one."/>
    <str id="DataPathPanel.info" txt="Path of application configuration
directory: "/>

        The panels section.
        We indicate here which panels we want to use. The order will be
        <panel classname="DataPathPanel"/>
        <panel classname="FinishPanel"/>

        The packs section.
        We specify here our packs.
        <pack name="Application" required="yes" preselected="yes">
            <description>The application files.</description>
            <file src="hello_world/bogus" targetdir="$INSTALL_PATH"/>
        <pack name="Documentation" required="no" preselected="yes">
            <description>The documentation</description>
            <file src="doc" targetdir="$INSTALL_PATH"/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.berlios.de/pipermail/izpack-users/attachments/20080210/e6893f4c/attachment.html 

More information about the izpack-users mailing list