> List of 'Fat-Clients' tutorials

Table of contents for Base knowledge for developing Fat-clients

Base class for the StartFrame of application-programs - Fat-Client-Development

* For this document and all references (links) please obey the hints and regulations concerning copyright, disclaimer and trademarks.

  • The owner of this web-site (www.javascout.biz) is not responsible for the content of web-sites linked within this document or other documents of www.javascout.biz.

  • If this document or other documents of this web-site (www.javascout.biz) infringes rights of third parties and your rights are infringed or you think that rights of others are infringed, please inform the author.
    An e-mail can be sent by clicking onto the 'hungry mailbox' in the upper right corner.

Last revision of this document:
2006-05-05

This is document contains the code for Class JSBS_StartFrame.
For easy 'cut and paste' ;-)
This class contains variables and methods used for all StartFrames (CommandCenter) of application-programs.
As an example please see JS_ErrDB_CommandCenter, which inherits this class.

package js_base.frame;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.event.DocumentListener;
import javax.swing.table.*;
import javax.swing.text.JTextComponent;

import java.util.*;

import
js_base.bo.JSBS_BO_Services;
import js_base.connections.JSBS_DB_ConnectionManager;
import js_base.structures.*;
import js_base.utilities.JSBS_Formatter;
import js_base.xml.*;

/**
 
*
 * @author
kurt@javascout.biz
 * @date 2006-05-03
 *
 * @description
 *  Frame to be inherited by Start-Frames (usually called 'Command-Center') of
 *  Fat-Client-Applications.
 *
 *  This class contains variables for
 *  + defining if the application has direct access to a dabase
 *    or is connected to a Java-Application-Server (JAS)
 *  + holding the connection to the database or JAS respectively
 *  + XML-tree for parameters to access the database or JAS
 *  + XML-tree with text-elements in the selected language
 *  + a structure with various parameters
 *    e.g. selected language, logged on user, TCP/IP-address, etc.
 
*
 * @change-log
 * when         who               why
 * --------------------------------------------------------
 *
 */

public class JSBS_StartFrame extends JFrame implements ActionListener, KeyListener, FocusListener {
/*
 * Constants for the Run-Version.
 * StandAlone: Database is on the same machine as the application.
 * FatClient: Data is on a Java-Application-Server (JAS); multiple clients possible.
 * MobileClient: Data from the JAS is mirrored t a local databas on a mobile-client (notebook);
 *               Data-entry can be done on the mobile-client and data is synchronized
 *               when a connection to the JAS is established again. */
    
public static final int CONST_StandAlone = 1;
    public static final int CONST_FatClient = 2;
    public static final int CONST_MobileClient = 3;
/* Variable for the run-version to be delivered. */
    public int RunVersion;
/*
 * List of the open (Sub-)Tasks; for display of the list in the ListBox of pnl_OpenTasks. */
    private Vector vecOpenTasksList = new Vector();
/*
 * Connection-Manager for access to the database. */
    public JSBS_DB_ConnectionManager structJSBS_DB_ConnectionManager;
/*
 * Structure with a variety of parameters;
 * please see description for eacht variable at the class of the structure. */
   public JSBS_UniversalParameters structJSBS_UniversalParameters;
/*
 * XML-structure with properties for language dependant GUI-elements (except JButton). */
    public JSBS_XML_DisplayStrings structJSBS_XML_DisplayStrings;
/*
 * XML-structure with the list of Tasks;
 * i.e. the displayed information about the callable business-tasks. */
    public JSBS_XML_Tasks structJSBS_XML_Tasks;
/*
 * GUI-elements for the standard layout. */
    protected JPanel pnl_Main;
    protected JPanel pnl_Main_With_Currency_Selection;
    protected JPanel pnl_Head;
    protected JPanel pnl_Head_With_Currency_Selection;
    protected JPanel pnl_Data;
    protected JPanel pnl_Info;
    protected JPanel pnl_Lists;
    protected JPanel pnl_Entry;
/*
 * GUI-elements for the pnl_Head (at the top). */
    protected JButton btn_ApplicationLogo;
    protected JLabel lbl_ApplicationTitle1;
    protected JLabel lbl_ApplicationTitle2;
    protected JLabel lbl_CurrencySelection;

    protected JComboBox combo_CurrencySelection;
    protected JLabel lbl_HeadDate;

    protected JLabel lbl_HeadUser;
/*
 * Elements for the pnl_Lists (at the upper part of pnl_Data). */
    protected JLabel lbl_SelectableTasks;
    protected JScrollPane pnl_SelectableTasks;
    protected JTree tree_SelectableTasks;
    protected JLabel lbl_OpenTasks;

    protected JScrollPane pnl_OpenTasks;

    
protected JTable pnl_OpenTasksTable;

    protected DefaultTableColumnModel pnl_OpenTasksTableDefaultTableColumnModel;
/*
 * Elements for the pnl_Entry (at the lower part of pnl_Data). */
    protected JLabel lbl_Code;
    protected JLabel lbl_Parameter1;
    protected JLabel lbl_Parameter2;
    protected JLabel lbl_Parameter3;
    protected JTextField txt_Code;
    protected JTextField txt_Parameter1;
    protected JTextField txt_Parameter2;
    protected JTextField txt_Parameter3;
    protected JButton btn_Continue;
/*
 * Elements for the pnl_Info (at the bottom). */
    protected JLabel lbl_InfoMessage;
    protected JButton btn_InfoLight;
/*
 * ********************
 * Create the GUI-elements. */
    protected JPanel get_pnl_Main() {
/* Auto-create the GUI-element if it does not already exist. */
      if
(
pnl_Main == null) {
        try {
          pnl_Main = new JPanel();
          pnl_Main.setName("pnl_Main");
          pnl_Main.setLayout(new GridBagLayout());
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_pnl_Head = new GridBagConstraints();
          gbc_pnl_Head.gridx = 0;
          gbc_pnl_Head.gridy = 0;
          gbc_pnl_Head.fill = GridBagConstraints.HORIZONTAL;
          gbc_pnl_Head.weightx = 1;
          gbc_pnl_Head.anchor = GridBagConstraints.CENTER;
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Main().add(get_pnl_Head(), gbc_pnl_Head);
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_pnl_Data = new GridBagConstraints();
          gbc_pnl_Data.gridx = 0;
          gbc_pnl_Data.gridy = 1;
          gbc_pnl_Data.fill = GridBagConstraints.BOTH;
          gbc_pnl_Data.weightx = 1;
          gbc_pnl_Data.weighty = 1;
          gbc_pnl_Data.anchor = GridBagConstraints.CENTER;

/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Main().add(get_pnl_Data(), gbc_pnl_Data)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_pnl_Info = new GridBagConstraints();
          gbc_pnl_Info.gridx = 0;
          gbc_pnl_Info.gridy = 2;
          gbc_pnl_Info.fill = GridBagConstraints.HORIZONTAL;
          gbc_pnl_Info.weightx = 1;
          gbc_pnl_Info.anchor = GridBagConstraints.CENTER;
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Main().add(get_pnl_Info(), gbc_pnl_Info)
;
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_Main in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_Main;

    }
/*
 * ******************** */
    protected JPanel get_pnl_Main_With_Currency_Selection() {
/* Auto-create the GUI-element if it does not already exist. */
      
if (
pnl_Main_With_Currency_Selection == null) {
        try {
          pnl_Main_With_Currency_Selection = new JPanel();
          pnl_Main_With_Currency_Selection.setName("pnl_Main_With_Currency_Selectio");
          pnl_Main_With_Currency_Selection.setLayout(new GridBagLayout());
/*
 * Define GridBagConstraints for the element to be added. */
          
GridBagConstraints gbc_pnl_Head_With_Currency_Selection = new GridBagConstraints();
          gbc_pnl_Head_With_Currency_Selection.gridx = 0;

          gbc_pnl_Head_With_Currency_Selection.gridy = 0;
          gbc_pnl_Head_With_Currency_Selection.fill = GridBagConstraints.HORIZONTAL;
          gbc_pnl_Head_With_Currency_Selection.weightx = 1;
          gbc_pnl_Head_With_Currency_Selection.anchor = GridBagConstraints.CENTER;
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Main_With_Currency_Selection().add(get_pnl_Head_With_Currency_Selection(),
                                                     gbc_pnl_Head_With_Currency_Selection);
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_pnl_Data = new GridBagConstraints();
          gbc_pnl_Data.gridx = 0;
          gbc_pnl_Data.gridy = 1;
          gbc_pnl_Data.fill = GridBagConstraints.BOTH;
          gbc_pnl_Data.weightx = 1;
          gbc_pnl_Data.weighty = 1;
          gbc_pnl_Data.anchor = GridBagConstraints.CENTER;

/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Main_With_Currency_Selection().add(get_pnl_Data(), gbc_pnl_Data)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_pnl_Info = new GridBagConstraints();
          gbc_pnl_Info.gridx = 0;
          gbc_pnl_Info.gridy = 2;
          gbc_pnl_Info.fill = GridBagConstraints.HORIZONTAL;
          gbc_pnl_Info.weightx = 1;
          gbc_pnl_Info.anchor = GridBagConstraints.CENTER;
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Main_With_Currency_Selection().add(get_pnl_Info(), gbc_pnl_Info)
;
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_Main_With_Currency_Selection in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_Main_With_Currency_Selection;

    }
/*
 * ******************** */
    protected JPanel get_pnl_Head_With_Currency_Selection() {
/* Auto-create the GUI-element if it does not already exist. */
      if
(pnl_Head_With_Currency_Selection == null) {
        try {
          pnl_Head_With_Currency_Selection = new JPanel();
          pnl_Head_With_Currency_Selection.setName("pnl_Head_With_Currency_Selection");
          pnl_Head_With_Currency_Selection.setLayout(new GridBagLayout());
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_btn_ApplicationLogo = new GridBagConstraints();
          gbc_btn_ApplicationLogo.gridx = 0;
          gbc_btn_ApplicationLogo.gridy = 0;
          gbc_btn_ApplicationLogo.fill = GridBagConstraints.BOTH;
          gbc_btn_ApplicationLogo.weightx = 1;
          gbc_btn_ApplicationLogo.weighty = 1;
          gbc_btn_ApplicationLogo.gridheight = 2;
          gbc_btn_ApplicationLogo.anchor = GridBagConstraints.CENTER;

          gbc_btn_ApplicationLogo.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head_With_Currency_Selection().add(get_btn_ApplicationLogo(),
                                                     gbc_btn_ApplicationLogo)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_ApplicationTitle1 = new GridBagConstraints();
          gbc_lbl_ApplicationTitle1.gridx = 1;
          gbc_lbl_ApplicationTitle1.gridy = 0;
          gbc_lbl_ApplicationTitle1.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_ApplicationTitle1.weightx = 1;
          gbc_lbl_ApplicationTitle1.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_ApplicationTitle1.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head_With_Currency_Selection().add(get_lbl_ApplicationTitle1(),
                                                     gbc_lbl_ApplicationTitle1)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_ApplicationTitle2 = new GridBagConstraints();
          gbc_lbl_ApplicationTitle2.gridx = 1;
          gbc_lbl_ApplicationTitle2.gridy = 1;
          gbc_lbl_ApplicationTitle2.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_ApplicationTitle2.weightx = 1;
          gbc_lbl_ApplicationTitle2.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_ApplicationTitle2.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head_With_Currency_Selection().add(get_lbl_ApplicationTitle2(),
                                                     gbc_lbl_ApplicationTitle2)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_CurrencySelection = new GridBagConstraints();
          gbc_lbl_CurrencySelection.gridx = 2;
          gbc_lbl_CurrencySelection.gridy = 0;
          gbc_lbl_CurrencySelection.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_CurrencySelection.weightx = 1;
          gbc_lbl_CurrencySelection.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_CurrencySelection.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head_With_Currency_Selection().add(get_lbl_CurrencySelection(),
                                                     gbc_lbl_CurrencySelection)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_combo_CurrencySelection = new GridBagConstraints();
          gbc_combo_CurrencySelection.gridx = 2;
          gbc_combo_CurrencySelection.gridy = 1;
          gbc_combo_CurrencySelection.fill = GridBagConstraints.HORIZONTAL;
          gbc_combo_CurrencySelection.weightx = 1;
          gbc_combo_CurrencySelection.anchor = GridBagConstraints.LINE_START;
          gbc_combo_CurrencySelection.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head_With_Currency_Selection().add(get_combo_CurrencySelection(),
                                                     gbc_combo_CurrencySelection)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_HeadDate = new GridBagConstraints();
          gbc_lbl_HeadDate.gridx = 3;
          gbc_lbl_HeadDate.gridy = 0;
          gbc_lbl_HeadDate.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_HeadDate.weightx = 1;
          gbc_lbl_HeadDate.anchor = GridBagConstraints.LINE_END;
          gbc_lbl_HeadDate.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head_With_Currency_Selection().add(get_lbl_HeadDate(), gbc_lbl_HeadDate)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_HeadUser = new GridBagConstraints();
          gbc_lbl_HeadUser.gridx = 3;
          gbc_lbl_HeadUser.gridy = 1;
          gbc_lbl_HeadUser.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_HeadUser.weightx = 1;
          gbc_lbl_HeadUser.anchor = GridBagConstraints.LINE_END;
          gbc_lbl_HeadUser.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head_With_Currency_Selection().add(get_lbl_HeadUser(), gbc_lbl_HeadUser)
;
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_Head_With_Currency_Selection in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_Head_With_Currency_Selection;

    }
/*
 * ******************** */
    protected JPanel get_pnl_Head() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(pnl_Head == null) {
        try {
          pnl_Head = new JPanel();
          pnl_Head.setName("pnl_Head");
          pnl_Head.setLayout(new GridBagLayout());
/*
 * Define GridBagConstraints for the element to be added. */
          
GridBagConstraints gbc_btn_ApplicationLogo = new GridBagConstraints();
          gbc_btn_ApplicationLogo.gridx = 0;
          gbc_btn_ApplicationLogo.gridy = 0;
          gbc_btn_ApplicationLogo.fill = GridBagConstraints.BOTH;
          gbc_btn_ApplicationLogo.weightx = 1;
          gbc_btn_ApplicationLogo.weighty = 1;
          gbc_btn_ApplicationLogo.gridheight = 2;
          gbc_btn_ApplicationLogo.anchor = GridBagConstraints.CENTER;

          gbc_btn_ApplicationLogo.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head().add(get_btn_ApplicationLogo(),
                                                     gbc_btn_ApplicationLogo)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_ApplicationTitle1 = new GridBagConstraints();
          gbc_lbl_ApplicationTitle1.gridx = 1;
          gbc_lbl_ApplicationTitle1.gridy = 0;
          gbc_lbl_ApplicationTitle1.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_ApplicationTitle1.weightx = 1;
          gbc_lbl_ApplicationTitle1.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_ApplicationTitle1.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head().add(get_lbl_ApplicationTitle1(),
                                                     gbc_lbl_ApplicationTitle1)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_ApplicationTitle2 = new GridBagConstraints();
          gbc_lbl_ApplicationTitle2.gridx = 1;
          gbc_lbl_ApplicationTitle2.gridy = 1;
          gbc_lbl_ApplicationTitle2.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_ApplicationTitle2.weightx = 1;
          gbc_lbl_ApplicationTitle2.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_ApplicationTitle2.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head().add(get_lbl_ApplicationTitle2(),
                                                     gbc_lbl_ApplicationTitle2)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_HeadDate = new GridBagConstraints();
          gbc_lbl_HeadDate.gridx = 3;
          gbc_lbl_HeadDate.gridy = 0;
          gbc_lbl_HeadDate.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_HeadDate.weightx = 1;
          gbc_lbl_HeadDate.anchor = GridBagConstraints.LINE_END;
          gbc_lbl_HeadDate.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head().add(get_lbl_HeadDate(), gbc_lbl_HeadDate)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_HeadUser = new GridBagConstraints();
          gbc_lbl_HeadUser.gridx = 3;
          gbc_lbl_HeadUser.gridy = 1;
          gbc_lbl_HeadUser.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_HeadUser.weightx = 1;
          gbc_lbl_HeadUser.anchor = GridBagConstraints.LINE_END;
          gbc_lbl_HeadUser.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Head().add(get_lbl_HeadUser(), gbc_lbl_HeadUser)
;
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_Head in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_Head;

    }
/*
 * ******************** */
    protected JPanel get_pnl_Data() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(pnl_Data == null) {
        try {
          pnl_Data = new JPanel();
          pnl_Data.setName("pnl_Data");
          pnl_Data.setLayout(new GridBagLayout());
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_pnl_Lists = new GridBagConstraints();
          gbc_pnl_Lists.gridx = 0;
          gbc_pnl_Lists.gridy = 0;
          gbc_pnl_Lists.fill = GridBagConstraints.BOTH;
          gbc_pnl_Lists.weightx = 1;
          gbc_pnl_Lists.weighty = 5;
          gbc_pnl_Lists.anchor = GridBagConstraints.CENTER;
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Data().add(get_pnl_Lists(), gbc_pnl_Lists);
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_pnl_Entry = new GridBagConstraints();
          gbc_pnl_Entry.gridx = 0;
          gbc_pnl_Entry.gridy = 1;
          gbc_pnl_Entry.fill = GridBagConstraints.HORIZONTAL;
          gbc_pnl_Entry.weightx = 1;
          gbc_pnl_Entry.weighty = 1;
          gbc_pnl_Entry.anchor = GridBagConstraints.CENTER;
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Data().add(get_pnl_Entry(), gbc_pnl_Entry)
;
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_Data in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_Data;

    }
/*
 * ******************** */
    protected JPanel get_pnl_Lists() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(pnl_Lists == null) {
        try {
          pnl_Lists = new JPanel();
          pnl_Lists.setName("pnl_Lists");
          pnl_Lists.setLayout(new GridBagLayout());
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_SelectableTasks = new GridBagConstraints();
          gbc_lbl_SelectableTasks.gridx = 0;
          gbc_lbl_SelectableTasks.gridy = 0;
          gbc_lbl_SelectableTasks.fill = GridBagConstraints.NONE;
          gbc_lbl_SelectableTasks.weightx = 1;
          gbc_lbl_SelectableTasks.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_SelectableTasks.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Lists().add(get_lbl_SelectableTasks(),
                              gbc_lbl_SelectableTasks)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_pnl_SelectableTasks = new GridBagConstraints();
          gbc_pnl_SelectableTasks.gridx = 0;
          gbc_pnl_SelectableTasks.gridy = 1;
          gbc_pnl_SelectableTasks.fill = GridBagConstraints.BOTH;
          gbc_pnl_SelectableTasks.weightx = 1;
          gbc_pnl_SelectableTasks.weighty = 1;
          gbc_pnl_SelectableTasks.anchor = GridBagConstraints.LINE_START;
          gbc_pnl_SelectableTasks.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Lists().add(get_pnl_SelectableTasks(),
                              gbc_pnl_SelectableTasks)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_OpenTasks = new GridBagConstraints();
          gbc_lbl_OpenTasks.gridx = 1;
          gbc_lbl_OpenTasks.gridy = 0;
          gbc_lbl_OpenTasks.fill = GridBagConstraints.NONE;
          gbc_lbl_OpenTasks.weightx = 1;
          gbc_lbl_OpenTasks.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_OpenTasks.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Lists().add(get_lbl_OpenTasks(),
                              gbc_lbl_OpenTasks)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_pnl_OpenTasks = new GridBagConstraints();
          gbc_pnl_OpenTasks.gridx = 1;
          gbc_pnl_OpenTasks.gridy = 1;
          gbc_pnl_OpenTasks.fill = GridBagConstraints.BOTH;
          gbc_pnl_OpenTasks.weightx = 1;
          gbc_pnl_OpenTasks.weighty = 1;
          gbc_pnl_OpenTasks.anchor = GridBagConstraints.LINE_START;
          gbc_pnl_OpenTasks.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Lists().add(get_pnl_OpenTasks(),
                              gbc_pnl_OpenTasks)
;
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_Lists in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_Lists;

    }
/*
 * ******************** */
    protected JPanel get_pnl_Entry() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(pnl_Entry == null) {
        try {
          pnl_Entry = new JPanel();
          pnl_Entry.setName("pnl_Entry");
          pnl_Entry.setLayout(new GridBagLayout());
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_Code = new GridBagConstraints();
          gbc_lbl_Code.gridx = 0;
          gbc_lbl_Code.gridy = 0;
          gbc_lbl_Code.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_Code.weightx = 1;
          gbc_lbl_Code.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_Code.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Entry().add(get_lbl_Code(),
                              gbc_lbl_Code)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_Parameter1 = new GridBagConstraints();
          gbc_lbl_Parameter1.gridx = 1;
          gbc_lbl_Parameter1.gridy = 0;
          gbc_lbl_Parameter1.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_Parameter1.weightx = 3;
          gbc_lbl_Parameter1.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_Parameter1.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Entry().add(get_lbl_Parameter1(),
                              gbc_lbl_Parameter1)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_Parameter2 = new GridBagConstraints();
          gbc_lbl_Parameter2.gridx = 2;
          gbc_lbl_Parameter2.gridy = 0;
          gbc_lbl_Parameter2.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_Parameter2.weightx = 3;
          gbc_lbl_Parameter2.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_Parameter2.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Entry().add(get_lbl_Parameter2(),
                              gbc_lbl_Parameter2)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_lbl_Parameter3 = new GridBagConstraints();
          gbc_lbl_Parameter3.gridx = 3;
          gbc_lbl_Parameter3.gridy = 0;
          gbc_lbl_Parameter3.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_Parameter3.weightx = 3;
          gbc_lbl_Parameter3.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_Parameter3.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Entry().add(get_lbl_Parameter3(),
                              gbc_lbl_Parameter3)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_btn_Continue = new GridBagConstraints();
          gbc_btn_Continue.gridx = 4;
          gbc_btn_Continue.gridy = 0;
          gbc_btn_Continue.fill = GridBagConstraints.BOTH;
          gbc_btn_Continue.weightx = 1;
          gbc_btn_Continue.weighty = 1;
          gbc_btn_Continue.gridheight = 2;
          gbc_btn_Continue.anchor = GridBagConstraints.CENTER;

          gbc_btn_Continue.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Entry().add(get_btn_Continue(),
                              gbc_btn_Continue)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_txt_Code = new GridBagConstraints();
          gbc_txt_Code.gridx = 0;
          gbc_txt_Code.gridy = 1;
          gbc_txt_Code.fill = GridBagConstraints.HORIZONTAL;
          gbc_txt_Code.weightx = 1;
          gbc_txt_Code.anchor = GridBagConstraints.LINE_START;
          gbc_txt_Code.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Entry().add(get_txt_Code(),
                              gbc_txt_Code)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_txt_Parameter1 = new GridBagConstraints();
          gbc_txt_Parameter1.gridx = 1;
          gbc_txt_Parameter1.gridy = 1;
          gbc_txt_Parameter1.fill = GridBagConstraints.HORIZONTAL;
          gbc_txt_Parameter1.weightx = 3;
          gbc_txt_Parameter1.anchor = GridBagConstraints.LINE_START;
          gbc_txt_Parameter1.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Entry().add(get_txt_Parameter1(),
                              gbc_txt_Parameter1)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_txt_Parameter2 = new GridBagConstraints();
          gbc_txt_Parameter2.gridx = 2;
          gbc_txt_Parameter2.gridy = 1;
          gbc_txt_Parameter2.fill = GridBagConstraints.HORIZONTAL;
          gbc_txt_Parameter2.weightx = 3;
          gbc_txt_Parameter2.anchor = GridBagConstraints.LINE_START;
          gbc_txt_Parameter2.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Entry().add(get_txt_Parameter2(),
                              gbc_txt_Parameter2)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_txt_Parameter3 = new GridBagConstraints();
          gbc_txt_Parameter3.gridx = 3;
          gbc_txt_Parameter3.gridy = 1;
          gbc_txt_Parameter3.fill = GridBagConstraints.HORIZONTAL;
          gbc_txt_Parameter3.weightx = 3;
          gbc_txt_Parameter3.anchor = GridBagConstraints.LINE_START;
          gbc_txt_Parameter3.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Entry().add(get_txt_Parameter3(),
                              gbc_txt_Parameter3)
;
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_Entry in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_Entry;

    
}
/*
 * ******************** */
    protected JPanel get_pnl_Info() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(
pnl_Info == null) {
        try {
          pnl_Info = new JPanel();
          pnl_Info.setName("pnl_Info");
          pnl_Info.setLayout(new GridBagLayout());
/*
 * Define GridBagConstraints for the element to be added. */
          
GridBagConstraints gbc_lbl_InfoMessage = new GridBagConstraints()
;
          gbc_lbl_InfoMessage.gridx = 0;
          gbc_lbl_InfoMessage.gridy = 0;
          gbc_lbl_InfoMessage.fill = GridBagConstraints.HORIZONTAL;
          gbc_lbl_InfoMessage.weightx = 1;
          gbc_lbl_InfoMessage.anchor = GridBagConstraints.LINE_START;
          gbc_lbl_InfoMessage.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Info().add(get_lbl_InfoMessage(), gbc_lbl_InfoMessage)
;
/*
 * Define GridBagConstraints for the element to be added. */
          GridBagConstraints gbc_btn_InfoLight = new GridBagConstraints();
          gbc_btn_InfoLight.gridx = 1;
          gbc_btn_InfoLight.gridy = 0;
          gbc_btn_InfoLight.fill = GridBagConstraints.NONE;
          gbc_btn_InfoLight.weightx = 0;
          gbc_btn_InfoLight.anchor = GridBagConstraints.LINE_END;
          gbc_btn_InfoLight.insets = new Insets(3,3,3,3);
/* Add the element to the panel; element-position is controlled by GridBagConstraints. */
          get_pnl_Info().add(get_btn_InfoLight(), gbc_btn_InfoLight)
;
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_Info in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_Info;

    }
/*
 * ******************** */
    public JButton get_btn_ApplicationLogo() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(btn_ApplicationLogo == null) {
        try {
          btn_ApplicationLogo = new JButton();
          btn_ApplicationLogo.setName("btn_ApplicationLogo");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building btn_ApplicationLogo in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return btn_ApplicationLogo;

    }
/*
 * ******************** */
    public JLabel get_lbl_ApplicationTitle1() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_ApplicationTitle1 == null) {
        try {
          lbl_ApplicationTitle1 = new JLabel();
          lbl_ApplicationTitle1.setName("lbl_ApplicationTitle1");
          lbl_ApplicationTitle1.setText(". . . . . . ");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_ApplicationTitle1 in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_ApplicationTitle1;

    }
/*
 * ******************** */
    public JLabel get_lbl_ApplicationTitle2() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_ApplicationTitle2 == null) {
        try {
          lbl_ApplicationTitle2 = new JLabel();
          lbl_ApplicationTitle2.setName("lbl_ApplicationTitle2");
          lbl_ApplicationTitle2.setText(". . . . . . ");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_ApplicationTitle2 in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_ApplicationTitle2;

    }
/*
 * ******************** */
    public JLabel get_lbl_CurrencySelection() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_CurrencySelection == null) {
        try {
          lbl_CurrencySelection = new JLabel();
          lbl_CurrencySelection.setName("lbl_CurrencySelection");
          lbl_CurrencySelection.setText(". . . . . . ");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_CurrencySelection in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_CurrencySelection;

    }
/*
 * ******************** */
    public JComboBox get_combo_CurrencySelection() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(combo_CurrencySelection == null) {
        try {
          combo_CurrencySelection = new JComboBox();
          combo_CurrencySelection.setName("combo_CurrencySelection");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building combo_CurrencySelection in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return combo_CurrencySelection;

    }
/*
 * ******************** */
    public JLabel get_lbl_HeadDate() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_HeadDate == null) {
        try {
          lbl_HeadDate = new JLabel();
          lbl_HeadDate.setName("lbl_HeadDate");
          lbl_HeadDate.setText(". . . . . . ");
          lbl_HeadDate.setHorizontalAlignment(SwingConstants.TRAILING);
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_HeadDate in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_HeadDate;

    }
/*
 * ******************** */
    public JLabel get_lbl_HeadUser() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_HeadUser == null) {
        try {
          lbl_HeadUser = new JLabel();
          lbl_HeadUser.setName("lbl_HeadUser");
          lbl_HeadUser.setText(". . . . . . ");
          lbl_HeadUser.setHorizontalAlignment(SwingConstants.TRAILING);
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_HeadUser in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_HeadUser;

    }
/*
 * ******************** */
    public JLabel get_lbl_SelectableTasks() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_SelectableTasks == null) {
        try {
          lbl_SelectableTasks = new JLabel();
          lbl_SelectableTasks.setName("lbl_SelectableTasks");
          lbl_SelectableTasks.setText(". . . . . . ");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_SelectableTasks in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_SelectableTasks;

    }
/*
 * ******************** */
    public JTree get_tree_SelectableTasks() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(tree_SelectableTasks == null) {
        try {
          tree_SelectableTasks = new JTree();
          tree_SelectableTasks.setName("tree_SelectableTasks");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building tree_SelectableTasks in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return tree_SelectableTasks;

    }
/*
 * ******************** */
    public JScrollPane get_pnl_SelectableTasks() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(pnl_SelectableTasks == null) {
        try {
          pnl_SelectableTasks = new JScrollPane();
          pnl_SelectableTasks.setName("pnl_SelectableTasks");
          pnl_SelectableTasks.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
          pnl_SelectableTasks.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
          pnl_SelectableTasks.setViewportView(get_tree_SelectableTasks());
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_SelectableTasks in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_SelectableTasks;

    }
/*
 * ******************** */
    public JLabel get_lbl_OpenTasks() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_OpenTasks == null) {
        try {
          lbl_OpenTasks = new JLabel();
          lbl_OpenTasks.setName("lbl_OpenTasks");
          lbl_OpenTasks.setText(". . . . . . ");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_OpenTasks in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_OpenTasks;

    }
/*
 * ******************** */
    public JScrollPane get_pnl_OpenTasks() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(pnl_OpenTasks == null) {
        try {
          pnl_OpenTasks = new JScrollPane();
          pnl_OpenTasks.setName("pnl_OpenTasks");
          pnl_OpenTasks.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
          pnl_OpenTasks.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
          pnl_OpenTasks.setViewportView(get_pnl_OpenTasksTable());
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_OpenTasks in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_OpenTasks;

    }
/*
 * ******************** */
    public JTable get_pnl_OpenTasksTable() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(pnl_OpenTasksTable == null) {
        try {
          pnl_OpenTasksTable = new JTable();
          pnl_OpenTasksTable.setName("pnl_OpenTasksTable");
          pnl_OpenTasksTable.setColumnModel(get_pnl_OpenTasksTableDefaultTableColumnModel());
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_OpenTasksTable in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_OpenTasksTable;

    }
/*
 * ******************** */
    public DefaultTableColumnModel get_pnl_OpenTasksTableDefaultTableColumnModel() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(pnl_OpenTasksTableDefaultTableColumnModel == null) {
        try {
/* Construct a ListSelectionModel which is needed for the ColumnModel
 * and allow the column-width to be variable. */
          DefaultListSelectionModel locDefaultListSelectionModel = new DefaultListSelectionModel();
          locDefaultListSelectionModel.setValueIsAdjusting(true);

/* */
          pnl_OpenTasksTableDefaultTableColumnModel = new DefaultTableColumnModel();
          pnl_OpenTasksTableDefaultTableColumnModel.setSelectionModel(locDefaultListSelectionModel);
        }
        catch (Throwable Exc) {
          System.out.println("Error while building pnl_ OpenTasksTableDefaultTableColumnModel in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return pnl_OpenTasksTableDefaultTableColumnModel;

    }
/*
 * ******************** */
    public JLabel get_lbl_Code() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_Code == null) {
        try {
          lbl_Code = new JLabel();
          lbl_Code.setName("lbl_Code");
          lbl_Code.setText(". . . . . . ");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_Code in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_Code;

    }
/*
 * ******************** */
    public JTextField get_txt_Code() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(txt_Code == null) {
        try {
          txt_Code = new JTextField();
          txt_Code.setName("txt_Code")
;
        }
        catch (Throwable Exc) {
          System.out.println("Error while building txt_Code in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return txt_Code;

    }
/*
 * ******************** */
    public JLabel get_lbl_Parameter1() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_Parameter1 == null) {
        try {
          lbl_Parameter1 = new JLabel();
          lbl_Parameter1.setName("lbl_Parameter1");
          lbl_Parameter1.setText(". . . . . . ");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_Parameter1 in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_Parameter1;

    }
/*
 * ******************** */
    public JTextField get_txt_Parameter1() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(txt_Parameter1 == null) {
        try {
          txt_Parameter1 = new JTextField();
          txt_Parameter1.setName("txt_Parameter1")
;
        }
        catch (Throwable Exc) {
          System.out.println("Error while building txt_Parameter1 in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return txt_Parameter1;

    }
/*
 * ******************** */
    public JLabel get_lbl_Parameter2() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_Parameter2 == null) {
        try {
          lbl_Parameter2 = new JLabel();
          lbl_Parameter2.setName("lbl_Parameter2");
          lbl_Parameter2.setText(". . . . . . ");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_Parameter2 in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_Parameter2;

    }
/*
 * ******************** */
    public JTextField get_txt_Parameter2() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(txt_Parameter2 == null) {
        try {
          txt_Parameter2 = new JTextField();
          txt_Parameter2.setName("txt_Parameter2")
;
   }
        catch (Throwable Exc) {
          System.out.println("Error while building txt_Parameter2 in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return txt_Parameter2;

    }
/*
 * ******************** */
    public JLabel get_lbl_Parameter3() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_Parameter3 == null) {
        try {
          lbl_Parameter3 = new JLabel();
          lbl_Parameter3.setName("lbl_Parameter3");
          lbl_Parameter3.setText(". . . . . . ");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_Parameter3 in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_Parameter3;

    }
/*
 * ******************** */
    public JTextField get_txt_Parameter3() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(txt_Parameter3 == null) {
        try {
          txt_Parameter3 = new JTextField();
          txt_Parameter3.setName("txt_Parameter3");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building txt_Parameter3 in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return txt_Parameter3;

    }
/*
 * ******************** */
    public JButton get_btn_Continue() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(btn_Continue == null) {
        try {
          btn_Continue = new JButton();
          btn_Continue.setName("btn_Continue");
          btn_Continue.setActionCommand("btn_Continue");
          btn_Continue.addActionListener(this);
        }
        catch (Throwable Exc) {
          System.out.println("Error while building btn_Continue in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return btn_Continue;

    }
/*
 * ******************** */
    public JLabel get_lbl_InfoMessage() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(lbl_InfoMessage == null) {
        try {
          lbl_InfoMessage = new JLabel();
          lbl_InfoMessage.setName("lbl_InfoMessage");
          lbl_InfoMessage.setText(". . . . . . ");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building lbl_InfoMessage in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return lbl_InfoMessage;

    }
/*
 * ******************** */
    public JButton get_btn_InfoLight() {
/* Auto-create the GUI-element if it does not already exist. */
      
if
(btn_InfoLight == null) {
        try {
          btn_InfoLight = new JButton();
          btn_InfoLight.setName("btn_InfoLight");
        }
        catch (Throwable Exc) {
          System.out.println("Error while building btn_InfoLight in class JSBS_StartFrame");
          Exc.printStackTrace();
        }
      }
      return btn_InfoLight;

    }
/*
 * ********************
 * Method to add an opened Task to the list of active Tasks
 * Parameters:
 *  parmTaskFrame . . . . . Object of the Task(-frame), used to be brought to 'Front' when selected.
 *  parmTaskInternalCode . . Internal Code from the XML-file (see class JSBS_XML_Tasks),
 *                           used to derive the Selectable Code (known to the user) and display this.
 *  parmTaskData . . . . . . a text supplied by the Task calling this method,
 *                           contains additional information e.g. the Product-Code of a Product). */
    public double addOpenTaskFrame(JSBS_TaskFrame parmTaskFrame,
                                   String parmInternalCode,
                                   String parmTaskData) {
/* Retrieve the Displayed Code (user-known) from the XML-structure. */
      String locstrDisplayedCode = structJSBS_XML_Tasks.getDisplayedCode(parmInternalCode);
/* Generate a surrogate for the unique identifier. */
      double locdblTaskID = JSBS_BO_Services.generateSurrogate();
/* Construct the structure holding the information about the open Task. */
      JSBS_OpenedTaskStructure structJSBS_OpenedTaskStructure =
          new JSBS_OpenedTaskStructure(locdblTaskID, parmTaskFrame, locstrDisplayedCode, parmTaskData);

/* Add to the vector (list). */
      vecOpenTasksList.addElement(structJSBS_OpenedTaskStructure);
/* Re-Display the list with the Opened Tasks. */
      redisplay_pnl_OpenTasks();
/* Return the surrogate. */
      return locdblTaskID;

    }
/*
 * ********************
 * Method to redisplay the list of open Tasks;
 * should be called after the vector with the list of open tasks was modified. */
    public void redisplay_pnl_OpenTasks() {
/*
 * Variable: structure for the data of an open task. */
      JSBS_OpenedTaskStructure structJSBS_OpenedTaskStructure;
/* Raw Data Vector as a base for later filling the JTable. */
      
Vector vecRawDisplayData = new Vector;
/* Build the header of the Raw Data Vector.
 * This vector is the 'first row' and contains the symbolic names.. */
      Vector vecHeader = new Vector();
      vecHeader.addElement(JSBS_BO_Set.CONST_ColumnName_RowNr)
;
      vecHeader.addElement("SelectableCode");
      vecHeader.addElement("TaskData")
;
      vecRawDisplayData.addElement(vecHeader)
;
/*
 * Build the 'rows' containing the formatted data.
 * This data is derived from the vector with the OpenedTaskStructure. */
      int locintTableDataSize = vecOpenTasksList.size();
      for (int locintTableDataIndex = 0;
           locintTableDataIndex < locintTableDataSize;
           locintTableDataIndex++) {
/* Read the data for an open task. */
        structJSBS_OpenedTaskStructure =
          (JSBS_OpenedTaskStructure) vecOpenTasksList.elementAt(locintTableDataIndex);

/* Produce the vector for one line of the table. */
        Vector vecRow = new Vector();
        vecRow.addElement(JSBS_Formatter.toFormattedString(locintTableDataIndex + 1, 4));
        vecRow.addElement(structJSBS_OpenedTaskStructure.strSelectableCode);
        vecRow.addElement(structJSBS_OpenedTaskStructure.strTaskData);
/* Add the 'row'-vector to the table. */
        vecRawDisplayData.addElement(vecRow);
      }
/*
 * Use the method implemented in class JSBS_XML_DisplayStrings
 * to fill the JTable with the data.
*/
      structJSBS_XML_DisplayStrings.processJTable(get_pnl_OpenTasksTable(),
                                                  
this
.getClass().getName(),
                                                  vecRawDisplayData, new String[0])
;
    }
/*
 * -------------------------------
 * Method that is requiered together with the interface ActionHandler.
 * This method has to be overwritten in the derived class. */
    public void actionPerformed(ActionEvent e) {
    }

/*
 * -------------------------------
 * Methods that are requiered together with the interface KeyListener.
 * It is only necessary to react to 'keyPressed' in the derived class. */
    public void keyPressed(KeyEvent e) {
    }

    
public
void keyReleased(KeyEvent e) {
    }

    public
void keyTyped(KeyEvent e) {
    }

/*
 * -------------------------------
 * Methods that are requiered together with the interface FocusListener.
 * These methods have to be overwritten in the derived class. */
    public void focusGained(FocusEvent e) {
    }
    public void focusLost(FocusEvent e) {
    }
/*
 * -------------------------------
 * Method that adds KeyListener, FocusListener and DocumentListener to a GUI-element and
 * all its components.
 * If this method is called from a TaskFrame (a derivation of this class),
 * then the ContentPane of the JFrame (usually the overwritten 'MainPanel')
 * is passed as 'Container'-parameter.
 * This method inspects each 'Container' for components and calls itself if there are one.
 *
 * The parameter 'DocumentListener' allows to attach a DocumentListener to JTextComponents.
 * Then the methods 'changedUpdate', insertUpdate' or 'removedUpdate' (implemented in
 * the class that is passed as parameter) are called when the text of a JTextComponent changes. */
    protected void addListeners(Container parmContainer, DocumentListener parmDocumentListener) {
/*
 * If the 'Container' is a JTextComponent and a 'DocumentListener' is passed,
 * then the 'DocumentListener' is added to the 'Container'. */
      if ((parmContainer instanceof JTextComponent) && (parmDocumentListener != null)) {
/* Classify the 'Container' as JTextComponent to be able to add the DocumentListener. */
        JTextComponent locJTextComponent = (JTextComponent) parmContainer;
/* Get the 'Document' (the component that is responsible for the text) from
 * the JTextComponent and add the DocumentListener. */
        locJTextComponent.getDocument().addDocumentListener(parmDocumentListener);
      }

/*
 * KeyListener and FocusListener are added to any class of a GUI-element. */
      parmContainer.addKeyListener(this);
      parmContainer.addFocusListener(this);
/*
 * Inspect if the 'Container' has components in it. If there are components
 * within this 'Container', call this method recursively for each of it. */
      Component comps[] = parmContainer.getComponents();
      for(int i = 0; i < comps.length; i++) {
        Component comp = comps[i];
        addListeners((Container) comp, parmDocumentListener);
      }

    }
}