docs: @SuppressWarnings("unchecked")
      // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
      private void initComponents() {
          java.awt.GridBagConstraints gridBagConstraints;
  
          imagePanel = new javax.swing.JPanel();
          imageSplitPane = new javax.swing.JSplitPane();
          origImagePanel = new javax.swing.JPanel();
          polygonImagePanel = new javax.swing.JPanel();
          buttonPanel = new javax.swing.JPanel();
          startButton = new javax.swing.JButton();
          stopButton = new javax.swing.JButton();
          openButton = new javax.swing.JButton();
          pauseButton = new javax.swing.JButton();
          saveButton = new javax.swing.JButton();
          resultPanel = new javax.swing.JPanel();
          bestEvolutionResultPanel = new io.jenetics.example.image.EvolutionResultPanel();
          currentevolutionResultPanel = new io.jenetics.example.image.EvolutionResultPanel();
          engineParamPanel = new io.jenetics.example.image.EngineParamPanel();
  
          setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
          setTitle("Evolving images");
  
          imagePanel.setBackground(new java.awt.Color(153, 153, 153));
          imagePanel.setLayout(new java.awt.GridLayout(1, 1));
  
          imageSplitPane.setDividerLocation(300);
  
          origImagePanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Source image"));
          origImagePanel.setName(""); // NOI18N
          origImagePanel.addComponentListener(new java.awt.event.ComponentAdapter() {
              public void componentResized(java.awt.event.ComponentEvent evt) {
                  origImagePanelComponentResized(evt);
              }
          });
          origImagePanel.setLayout(new java.awt.BorderLayout());
          imageSplitPane.setLeftComponent(origImagePanel);
  
          polygonImagePanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Polygon image"));
          polygonImagePanel.setLayout(new java.awt.GridLayout(1, 1));
          imageSplitPane.setRightComponent(polygonImagePanel);
  
          imagePanel.add(imageSplitPane);
  
          startButton.setText("Start");
          startButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  startButtonActionPerformed(evt);
              }
          });
  
          stopButton.setText("Stop");
          stopButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  stopButtonActionPerformed(evt);
              }
          });
  
          openButton.setText("Open");
          openButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  openButtonActionPerformed(evt);
              }
          });
  
          pauseButton.setText("Pause");
          pauseButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  pauseButtonActionPerformed(evt);
              }
          });
  
          saveButton.setText("Save");
          saveButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  saveButtonActionPerformed(evt);
              }
          });
  
          javax.swing.GroupLayout buttonPanelLayout = new javax.swing.GroupLayout(buttonPanel);
          buttonPanel.setLayout(buttonPanelLayout);
          buttonPanelLayout.setHorizontalGroup(
              buttonPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
              .addGroup(buttonPanelLayout.createSequentialGroup()
                  .addContainerGap()
                  .addGroup(buttonPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                      .addComponent(startButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                      .addComponent(stopButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                      .addComponent(openButton, javax.swing.GroupLayout.DEFAULT_SIZE, 119, Short.MAX_VALUE)
                      .addComponent(pauseButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                      .addComponent(saveButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                  .addContainerGap())
          );
          buttonPanelLayout.setVerticalGroup(
              buttonPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
              .addGroup(buttonPanelLayout.createSequentialGroup()
                  .addContainerGap()
                  .addComponent(startButton)
                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                  .addComponent(stopButton)
                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                  .addComponent(pauseButton)
                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 196, Short.MAX_VALUE)
                  .addComponent(openButton)
                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                  .addComponent(saveButton)
                  .addContainerGap())
          );
  
          resultPanel.setLayout(new java.awt.GridBagLayout());
  
          bestEvolutionResultPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Best"));
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridx = 1;
          gridBagConstraints.gridy = 0;
          gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
          gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
          gridBagConstraints.weightx = 1.0;
          gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
          resultPanel.add(bestEvolutionResultPanel, gridBagConstraints);
  
          currentevolutionResultPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Current"));
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridx = 0;
          gridBagConstraints.gridy = 0;
          gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
          gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
          gridBagConstraints.weightx = 1.0;
          resultPanel.add(currentevolutionResultPanel, gridBagConstraints);
  
          engineParamPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Engine parameter"));
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridx = 0;
          gridBagConstraints.gridy = 1;
          gridBagConstraints.gridwidth = 2;
          gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
          resultPanel.add(engineParamPanel, gridBagConstraints);
  
          javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
          getContentPane().setLayout(layout);
          layout.setHorizontalGroup(
              layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
              .addGroup(layout.createSequentialGroup()
                  .addContainerGap()
                  .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                      .addComponent(resultPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 788, Short.MAX_VALUE)
                      .addGroup(layout.createSequentialGroup()
                          .addComponent(imagePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                          .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                          .addComponent(buttonPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                  .addContainerGap())
          );
          layout.setVerticalGroup(
              layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
              .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                  .addContainerGap()
                  .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                      .addComponent(buttonPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                      .addComponent(imagePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                  .addComponent(resultPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                  .addContainerGap())
          );
  
          pack();
      }