docs: private void initComponents() {
          java.awt.GridBagConstraints gridBagConstraints;
  
          lookAndFeelLabel = new javax.swing.JLabel();
          lookAndFeelComboBox = new javax.swing.JComboBox();
          // Look and Feel
          String landfCurrent = (String)properties.get(ScreenUtil.LOOK_AND_FEEL);
          if (landfCurrent == null)
          landfCurrent = ScreenUtil.DEFAULT;
  
          mapLAndF = new HashMap<String,String>();
          ScreenDialog.addLookAndFeelItem(mapLAndF, java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString(ScreenUtil.DEFAULT), ScreenUtil.DEFAULT, landfCurrent, lookAndFeelComboBox);
          ScreenDialog.addLookAndFeelItem(mapLAndF, java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString(ScreenUtil.SYSTEM), ScreenUtil.SYSTEM, landfCurrent, lookAndFeelComboBox);
  
          UIManager.LookAndFeelInfo[] rgLandFInfo = UIManager.getInstalledLookAndFeels();
          for (int i = 0; i < rgLandFInfo.length; i++)
          {
          	ScreenDialog.addLookAndFeelItem(mapLAndF, rgLandFInfo[i].getName(), rgLandFInfo[i].getClassName(), landfCurrent, lookAndFeelComboBox);
          }
          LookAndFeel[] rgLandF = UIManager.getAuxiliaryLookAndFeels();
          if (rgLandF != null)
          {
              for (int i = 0; i < rgLandF.length; i++)
              {
              	ScreenDialog.addLookAndFeelItem(mapLAndF, rgLandF[i].getName(), rgLandF[i].getClass().getName(), landfCurrent, lookAndFeelComboBox);
              }
          }
  
          themeLabel = new javax.swing.JLabel();
          themeComboBox = new javax.swing.JComboBox();
          String currentThemeName = (String)properties.get(ScreenUtil.THEME);
          if (currentThemeName == null)
          currentThemeName = ScreenUtil.DEFAULT;
          mapThemes = new HashMap<String,String>();
  
          ScreenDialog.addThemeItem(mapThemes, java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString(ScreenUtil.DEFAULT), ScreenUtil.DEFAULT, null, currentThemeName, themeComboBox);
          ScreenDialog.addThemeItem(mapThemes, null, null, new BlueTheme(), currentThemeName, themeComboBox);
          ScreenDialog.addThemeItem(mapThemes, null, null, new GrayTheme(), currentThemeName, themeComboBox);
          ScreenDialog.addThemeItem(mapThemes, null, null, new RedTheme(), currentThemeName, themeComboBox);
          ScreenDialog.addThemeItem(mapThemes, null, null, new OceanTheme(), currentThemeName, themeComboBox);
  
          fontLabel = new javax.swing.JLabel();
          fontComboBox = new javax.swing.JComboBox();
          // Font
          String currentFontName = (String)properties.get(ScreenUtil.FONT_NAME);
          Toolkit toolkit = Toolkit.getDefaultToolkit();
          fontComboBox.addItem(this.getDefaultText());
          fontComboBox.setSelectedIndex(0);
          if (toolkit != null)
          {
              String[] astrFont = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();    //toolkit.getFontList();
              for (int i = 0; i < astrFont.length; i++)
              {
                  fontComboBox.addItem(astrFont[i]);
                  if (astrFont[i].equals(currentFontName))
                  fontComboBox.setSelectedItem(astrFont[i]);      // To select the correct object
              }
          }
  
          sizeLabel = new javax.swing.JLabel();
          sizeComboBox = new javax.swing.JComboBox();
          // Size
          String currentFontSize = (String)properties.get(ScreenUtil.FONT_SIZE);
          String rgSizes[] = {"6", "8", "10", "12", "14", "18", "22", "28"};
          sizeComboBox.addItem(getDefaultText());
          sizeComboBox.setSelectedIndex(0);
          for (int i = 0; i < rgSizes.length; i++)
          {
              sizeComboBox.addItem(rgSizes[i]);
              if (rgSizes[i].equals(currentFontSize))
              sizeComboBox.setSelectedItem(rgSizes[i]);   // To select the correct object
          }
  
          colorPanel = new javax.swing.JPanel();
          textColorButton = new javax.swing.JButton();
          controlColorButton = new javax.swing.JButton();
          backgroundButton = new javax.swing.JButton();
          samplePanel = new javax.swing.JPanel();
          sampleLabel = new javax.swing.JLabel();
          sampleTextField = new javax.swing.JTextField();
          buttonPanel = new javax.swing.JPanel();
          okButton = new javax.swing.JButton();
          cancelButton = new javax.swing.JButton();
          resetButton = new javax.swing.JButton();
  
          getContentPane().setLayout(new java.awt.GridBagLayout());
  
          setTitle(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("title"));
          addWindowListener(new java.awt.event.WindowAdapter() {
              public void windowClosing(java.awt.event.WindowEvent evt) {
                  closeDialog(evt);
              }
          });
  
          lookAndFeelLabel.setLabelFor(lookAndFeelComboBox);
          lookAndFeelLabel.setText(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("landf"));
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
          gridBagConstraints.weightx = 0.5;
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          getContentPane().add(lookAndFeelLabel, gridBagConstraints);
  
          lookAndFeelComboBox.setEditable(true);
          lookAndFeelComboBox.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  updateLookAndFeel(evt);
              }
          });
  
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
          gridBagConstraints.weightx = 0.5;
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          getContentPane().add(lookAndFeelComboBox, gridBagConstraints);
  
          themeLabel.setLabelFor(themeComboBox);
          themeLabel.setText("Theme:");
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          getContentPane().add(themeLabel, gridBagConstraints);
          themeLabel.getAccessibleContext().setAccessibleName(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("theme"));
  
          themeComboBox.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  themeComboBoxActionPerformed(evt);
              }
          });
  
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          getContentPane().add(themeComboBox, gridBagConstraints);
  
          fontLabel.setLabelFor(fontComboBox);
          fontLabel.setText("Font:");
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          getContentPane().add(fontLabel, gridBagConstraints);
          fontLabel.getAccessibleContext().setAccessibleName(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("font"));
  
          fontComboBox.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  fontComboBoxActionPerformed(evt);
              }
          });
  
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          getContentPane().add(fontComboBox, gridBagConstraints);
  
          sizeLabel.setLabelFor(sizeComboBox);
          sizeLabel.setText("Size:");
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          getContentPane().add(sizeLabel, gridBagConstraints);
          sizeLabel.getAccessibleContext().setAccessibleName(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("size"));
  
          sizeComboBox.setEditable(true);
          sizeComboBox.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  sizeComboBoxActionPerformed(evt);
              }
          });
  
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          getContentPane().add(sizeComboBox, gridBagConstraints);
  
          colorPanel.setLayout(new java.awt.GridBagLayout());
  
          textColorButton.setText(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("textcolor"));
          textColorButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  textColorButtonActionPerformed(evt);
              }
          });
  
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          colorPanel.add(textColorButton, gridBagConstraints);
  
          controlColorButton.setText(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("controlcolor"));
          controlColorButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  controlColorButtonActionPerformed(evt);
              }
          });
  
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          colorPanel.add(controlColorButton, gridBagConstraints);
  
          backgroundButton.setText(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("backgroundcolor"));
          backgroundButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  backgroundButtonActionPerformed(evt);
              }
          });
  
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          colorPanel.add(backgroundButton, gridBagConstraints);
  
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          getContentPane().add(colorPanel, gridBagConstraints);
  
          samplePanel.setLayout(new java.awt.GridBagLayout());
  
          samplePanel.setBorder(new javax.swing.border.TitledBorder(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("sample")));
          sampleLabel.setText(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("label"));
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          samplePanel.add(sampleLabel, gridBagConstraints);
  
          sampleTextField.setColumns(10);
          sampleTextField.setText(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("control"));
          sampleTextField.setMinimumSize(new java.awt.Dimension(50, 19));
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
          samplePanel.add(sampleTextField, gridBagConstraints);
  
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.gridheight = java.awt.GridBagConstraints.RELATIVE;
          gridBagConstraints.weightx = 0.5;
          getContentPane().add(samplePanel, gridBagConstraints);
  
          buttonPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));
  
          okButton.setText(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("ok"));
          okButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  okButtonActionPerformed(evt);
              }
          });
  
          buttonPanel.add(okButton);
  
          cancelButton.setText(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("cancel"));
          cancelButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  cancelButtonActionPerformed(evt);
              }
          });
  
          buttonPanel.add(cancelButton);
  
          resetButton.setText(java.util.ResourceBundle.getBundle(DIALOG_BUNDLE).getString("reset"));
          resetButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  resetButtonActionPerformed(evt);
              }
          });
  
          buttonPanel.add(resetButton);
  
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH;
          getContentPane().add(buttonPanel, gridBagConstraints);
  
          pack();
      }