BCI Class - CustomWizardData

Description

In BBj 13.0 and higher, this class extends a com.basis.install.CustomActionData class and provides data and actions that are available when creating a custom wizard.

Methods

Return Value

Method

Description

void

exit()

Exits all wizards.

void

finish()

Invokes the finish wizard.

Font

getFont()

Returns the wizard window's font.

int

getHeight()

Returns the wizard window's height.

int

getWidth()

Returns the wizard window's width.

JPanel

getWizardsBackgroundPanel()

Returns the wizard window's background panel.

JPanel

getWizardsDialogsBackgroundPanel()

Returns the wizard dialog's background panel.

int

getX()

Returns the wizard window's X location.

int

getY()

Returns the wizard window's Y location.

void

next()

Invokes the next available wizard.

void

previous()

Invokes the previous available wizard.

void

skip()

Skips the current wizard.

Methodsof CustomWizardData inherited from CustomActionData

Example

custominstall.xml

<?xml version="1.0" encoding="UTF-8"?>

<Suites>

    <Suite name="ChileCo">

       <CustomAction name="com.chileco.install.ChileCoStartInstallCustomAction" occurs="startinstall"/>

   </Suite>

</Suites>


ChileCoStartInstallCustomAction.java

/*

 * ChileCoInstallerStartCustomAction.java

 *

 * Created on October 28, 2011, 11:24 AM

 */

package com.chileco.install;

import com.basis.install.StartInstallCustomAction;

import com.basis.install.StartInstallCustomActionData;

import com.basis.install.CustomWizard;

public class ChileCoStartInstallCustomAction implements StartInstallCustomAction

{

    /* Creates a new instance of ChileCoStartInstallCustomAction */

    public ChileCoStartInstallCustomAction()

    {

    }

    

    /* Method called when action is to be run */

    public void execute(StartInstallCustomActionData p_startInstallCustomActionData)

    {

        ChileCoWizard chilecoWizard = new ChileCoWizard();

        p_startInstallCustomActionData.addCustomWizard(0,chilecoWizard);

    }

    

}

 

ChileCoWizard.java

/*

 * ChileCoWizard.java

 *

 * Created on October 28, 2011, 11:24 AM

 */

package com.chileco.install;

import com.basis.install.CustomWizard;

import com.basis.install.CustomWizardData;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class ChileCoWizard implements CustomWizard, ActionListener

{

    private CustomWizardData m_customWizardData;

    private JFrame           m_licenseWindow;

    private JButton          m_nextButton;

    private JButton          m_exitButton;

   

    /* Creates a new instance of ChileCoWizard */

    public ChileCoWizard()

    {

    }

    /* Method called when wizard is to be created */

    public void create(CustomWizardData p_customWizardData)

    {

        m_customWizardData = p_customWizardData;

        if (p_customWizardData.isGUI())

        {

            // create the license window

            m_licenseWindow = new JFrame("Chile Co");

            

            // set the font

            m_licenseWindow.setFont(p_customWizardData.getFont());

 

            /* get the content pane */

            Container contentPane = m_licenseWindow.getContentPane();

            contentPane.setLayout(new BorderLayout());

            /* get the backgound panel */

            JPanel backgroundPanel = p_customWizardData.getWizardBackgroundPanel();

            backgroundPanel.setLayout(new BorderLayout());

            /* create the control panel */

            JPanel controlPanel = new JPanel();

            controlPanel.setLayout(null);

            controlPanel.setOpaque(false);

 

            // create the necessary controls */

            JLabel licAgreement = new JLabel("This is ChileCo License Agreeement...");

            licAgreement.setBounds(10,100,300,25);

            controlPanel.add(licAgreement);

            

            /* add the control panel */

            backgroundPanel.add(controlPanel, BorderLayout.CENTER);

            /* create the button control panel */

            JPanel buttonControlPanel = new JPanel();

            buttonControlPanel.setOpaque(false);

            buttonControlPanel.setLayout(new BorderLayout());

            /* create the button panel */

            JPanel buttonPanel = new JPanel();

            buttonPanel.setOpaque(false);

            /* create necessary buttons */

            m_exitButton = new JButton("Exit");

            m_exitButton.addActionListener(this);

            buttonPanel.add(m_exitButton);

            m_nextButton = new JButton("Next >");

            m_nextButton.addActionListener(this);

            buttonPanel.add(m_nextButton);

            /* add the button panel to the button control panel */

            buttonControlPanel.add(buttonPanel,BorderLayout.EAST);

            /* add the control button panel to the background panel */

            backgroundPanel.add(buttonControlPanel, BorderLayout.SOUTH);

            /* add the background panel to the main content pane */

            contentPane.add(backgroundPanel, BorderLayout.CENTER);

        }

    }

    

    /* Method called when wizard is to be run */

    public void run()

    {

        if (m_licenseWindow != null)

        {

            // Set window placement and dimensions

            m_licenseWindow.setBounds(m_customWizardData.getX(),

                                      m_customWizardData.getY(),

                                      m_customWizardData.getWidth(),

                                      m_customWizardData.getHeight());

            // Show the dialog

            m_licenseWindow.setVisible(true);

        }

    }

    

 

    private WindowListener closeWindow = new WindowAdapter()

    {

        public void windowClosing(WindowEvent e)

        {

            e.getWindow().dispose();

            m_customWizardData.exit();

        }

    };

         

    public void actionPerformed(java.awt.event.ActionEvent e)

    {

        if (e.getSource() == m_nextButton)

        {

            m_licenseWindow.setVisible(false);

            m_customWizardData.next();

        }

        else if (e.getSource() == m_exitButton)

        {

            m_licenseWindow.dispose();

            m_customWizardData.exit();

        }

            

    }

}

See Also

BCI Class - CustomActionData

BCI Interface - CustomWizard