Example #1
0
  public void animate() {
    // invert path.
    Coord path = PG.search(goby, gobx, profy, profx);
    // coord path = PG.search(profy,profx, goby,gobx);
    if (path == null) {
      display.setColor(Color.red);
      display.drawString("NO PATH TO TARGET!", 50, 100);
      System.out.println("no path");
      return;
    }
    int px = 0, py = 0; // for calculating graphical coords
    while (path != null) {
      px = getx(path.y, path.x);
      py = gety(path.y, path.x);
      display.drawImage(
          imagechar[PG.M[path.y][path.x]], (px - gap / 2), (py - gap / 2), gap, gap, null);
      //	      display.drawImage(imagechar[PG.M[path.y][path.x]],
      //				(path.x*gap),(path.y*gap)+yoff,gap,gap,null);

      System.out.printf("%d,%d: %d\n", path.y, path.x, PG.M[path.y][path.x]);

      try {
        Thread.sleep(250);
      } catch (Exception se) {
      }
      //	      display.drawImage(imageof[PG.M[path.y][path.x]],
      //				(path.x*gap),(path.y*gap)+yoff,gap,gap,null);
      //	      display.setColor(Color.red);
      //      	      display.fillOval((path.x*gap)+8,(path.y*gap)+yoff+8,4,4);
      // for animation:
      //	      display.drawImage(diamondgif,gobx*gap,goby*gap+yoff,gap,gap,null);

      if (!showtrace) // erase trail - redraw hexagon
      {
        display.setColor(colorof[PG.M[path.y][path.x]]);
        display.fillPolygon(HX[path.y][path.x]);
      }
      path = path.prev;
    } // with path!=null
    px = getx(goby, gobx);
    py = gety(goby, gobx);
    display.drawImage(diamondgif, px - gap / 2, py - gap / 2, gap, gap, null);
    display.drawImage(imagechar[PG.M[goby][gobx]], px - gap / 2, py - gap / 2, gap, gap, null);
  } // animate
Example #2
0
  public Pathfinder(int r, int c) // constructor
      {
    rows = r;
    cols = c;

    HX = new Hexagon[r][c];

    for (int i = 0; i < r; i++) {
      int odd = i % 2;
      for (int j = 0; j < c; j++) {
        HX[i][j] =
            new Hexagon(yoff / 2 + (j * 2 + odd) * hpdist, yoff + gap + (3 * gap / 2 * i), gap);
      }
    } // for i,j

    PG = new MyAstar(r, c); // note it's myastar, not astar

    XDIM = cols * hpdist * 2 + yoff; // ((cols+1)*gap*3)/2;
    YDIM = ((rows + 1) * gap * 3) / 2;
    this.setBounds(0, 0, XDIM + 5, YDIM + yoff + 5);
    this.setVisible(true);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    display = this.getGraphics();

    diamondgif = Toolkit.getDefaultToolkit().getImage("gem1.gif");
    prepareImage(diamondgif, this);
    mangif = Toolkit.getDefaultToolkit().getImage("man15.gif");
    prepareImage(mangif, this);

    imagechar = new Image[4]; // image of character while on terrain type
    imagechar[Astar.OPEN] = mangif;
    imagechar[Astar.WATER] = Toolkit.getDefaultToolkit().getImage("boat.gif");
    prepareImage(imagechar[Astar.WATER], this);

    imagechar[Astar.DESERT] = Toolkit.getDefaultToolkit().getImage("camel.gif");
    prepareImage(imagechar[Astar.DESERT], this);

    imagechar[Astar.FOREST] = Toolkit.getDefaultToolkit().getImage("bear.gif");
    prepareImage(imagechar[Astar.FOREST], this);

    try {
      Thread.sleep(500);
    } catch (Exception e) {
    } // Synch with system
    // draw static background as a green rectangle
    display.setColor(Color.green);
    display.fillRect(0, 0, XDIM, YDIM + yoff); // fill background

    // generate random starting positions.
    // generate initial positions of professor and diamond
    do {
      gobx = (int) (Math.random() * PG.COLS);
      goby = (int) (Math.random() * PG.ROWS);
    } while (PG.M[goby][gobx] != PG.OPEN);
    do {
      profx = (int) (Math.random() * PG.COLS);
      profy = (int) (Math.random() * PG.ROWS);
    } while (PG.M[profy][profx] != PG.OPEN || Astar.distance(goby, gobx, profy, profx) < 20);

    // draw map
    drawmap();
    System.out.println(profy + "," + profx + " " + goby + "," + gobx);
    // draw professor and diamond, initial position
    int px = getx(profy, profx), py = gety(profy, profx); // center hx coords
    display.drawImage(
        imagechar[PG.M[profy][profx]], (px - gap / 2), (py - gap / 2), gap, gap, null);
    px = getx(goby, gobx);
    py = gety(goby, gobx);
    display.drawImage(diamondgif, px - gap / 2, py - gap / 2, gap, gap, null);
    /*
    display.drawImage(imagechar[PG.M[profy][profx]],
    		  (profx*gap),(profy*gap)+yoff,gap,gap,null);
    display.drawImage(diamondgif,gobx*gap,goby*gap+yoff,gap,gap,null);
     */
    animate();
  } // constructor
Example #3
0
  /**
   * This method is called from within the constructor to initialize the form. WARNING: Do NOT
   * modify this code. The content of this method is always regenerated by the Form Editor.
   */
  @SuppressWarnings("unchecked")
  // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
  private void initComponents() {

    valintaRuudut = new javax.swing.ButtonGroup();
    jScrollPane1 = new javax.swing.JScrollPane();
    kuvaLista = new javax.swing.JList();
    Ratkaise = new javax.swing.JButton();
    kuvaKentta = new javax.swing.JLabel();
    lisaaUusiKuva = new javax.swing.JButton();
    dijkstra = new javax.swing.JCheckBox();
    bellmanFord = new javax.swing.JCheckBox();
    Dijkstra8 = new javax.swing.JCheckBox();
    kuvanAlkuPiste = new javax.swing.JTextField();
    kuvanLoppuPiste = new javax.swing.JTextField();
    jTextField1 = new javax.swing.JTextField();
    ratkaisuKentta = new javax.swing.JLabel();
    jTextField2 = new javax.swing.JTextField();
    poistaKuva = new javax.swing.JButton();
    jFileChooser1 = new javax.swing.JFileChooser();
    frame = new javax.swing.JInternalFrame();
    kulunutAika = new javax.swing.JTextField();
    reitinPituus = new javax.swing.JTextField();
    jTextField3 = new javax.swing.JTextField();
    jTextField4 = new javax.swing.JTextField();
    Astar = new javax.swing.JCheckBox();
    kaydytPisteet = new javax.swing.JCheckBox();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setMinimumSize(new java.awt.Dimension(50, 50));
    setPreferredSize(new java.awt.Dimension(1000, 850));
    setResizable(false);

    kuvaLista.setModel(
        new javax.swing.AbstractListModel() {
          String[] strings = {"Kuva 1", "Kuva 2", "Kuva 3"};

          public int getSize() {
            return strings.length;
          }

          public Object getElementAt(int i) {
            return strings[i];
          }
        });
    kuvaLista.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    kuvaLista.setToolTipText("");
    kuvaLista.setSelectedIndex(0);
    kuvaLista.addMouseListener(
        new java.awt.event.MouseAdapter() {
          public void mouseClicked(java.awt.event.MouseEvent evt) {
            kuvaListaMouseClicked(evt);
          }
        });
    jScrollPane1.setViewportView(kuvaLista);

    Ratkaise.setText("Ratkaise");
    Ratkaise.addMouseListener(
        new java.awt.event.MouseAdapter() {
          public void mouseClicked(java.awt.event.MouseEvent evt) {
            RatkaiseMouseClicked(evt);
          }
        });

    kuvaKentta.setIcon(
        new javax.swing.ImageIcon(getClass().getResource("/Kuvat/kuva0.jpg"))); // NOI18N
    kuvaKentta.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
    kuvaKentta.addMouseListener(
        new java.awt.event.MouseAdapter() {
          public void mouseClicked(java.awt.event.MouseEvent evt) {
            kuvaKenttaMouseClicked(evt);
          }
        });

    lisaaUusiKuva.setText("Lisää uusi kuva");
    lisaaUusiKuva.addMouseListener(
        new java.awt.event.MouseAdapter() {
          public void mouseClicked(java.awt.event.MouseEvent evt) {
            lisaaUusiKuvaMouseClicked(evt);
          }
        });

    valintaRuudut.add(dijkstra);
    dijkstra.setMnemonic('0');
    dijkstra.setSelected(true);
    dijkstra.setText("Dijkstra");

    valintaRuudut.add(bellmanFord);
    bellmanFord.setMnemonic('1');
    bellmanFord.setText("Bellman Ford");

    valintaRuudut.add(Dijkstra8);
    Dijkstra8.setMnemonic('2');
    Dijkstra8.setText("Dijkstra8");

    jTextField1.setEditable(false);
    jTextField1.setText(" Alku piste ");
    jTextField1.setBorder(null);

    ratkaisuKentta.setIcon(
        new javax.swing.ImageIcon(getClass().getResource("/Kuvat/kuva0.jpg"))); // NOI18N
    ratkaisuKentta.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
    ratkaisuKentta.addMouseListener(
        new java.awt.event.MouseAdapter() {
          public void mouseClicked(java.awt.event.MouseEvent evt) {
            ratkaisuKenttaMouseClicked(evt);
          }
        });

    jTextField2.setEditable(false);
    jTextField2.setText(" Loppu piste ");
    jTextField2.setBorder(null);
    jTextField2.addActionListener(
        new java.awt.event.ActionListener() {
          public void actionPerformed(java.awt.event.ActionEvent evt) {
            jTextField2ActionPerformed(evt);
          }
        });

    poistaKuva.setText("Poista kuva");
    poistaKuva.addMouseListener(
        new java.awt.event.MouseAdapter() {
          public void mouseClicked(java.awt.event.MouseEvent evt) {
            poistaKuvaMouseClicked(evt);
          }
        });

    jFileChooser1.setCurrentDirectory(new java.io.File("C:\\Koulu\\2013\\Tiralabra\\Kuvat"));
    jFileChooser1.addActionListener(
        new java.awt.event.ActionListener() {
          public void actionPerformed(java.awt.event.ActionEvent evt) {
            jFileChooser1ActionPerformed(evt);
          }
        });

    frame.setVisible(true);

    javax.swing.GroupLayout frameLayout = new javax.swing.GroupLayout(frame.getContentPane());
    frame.getContentPane().setLayout(frameLayout);
    frameLayout.setHorizontalGroup(
        frameLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 237, Short.MAX_VALUE));
    frameLayout.setVerticalGroup(
        frameLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 188, Short.MAX_VALUE));

    jTextField3.setEditable(false);
    jTextField3.setText(" Reitin pituus ");
    jTextField3.setBorder(null);

    jTextField4.setEditable(false);
    jTextField4.setText(" Aikaa kului ms ");
    jTextField4.setBorder(null);
    jTextField4.addActionListener(
        new java.awt.event.ActionListener() {
          public void actionPerformed(java.awt.event.ActionEvent evt) {
            jTextField4ActionPerformed(evt);
          }
        });

    valintaRuudut.add(Astar);
    Astar.setMnemonic('3');
    Astar.setText("Astar");

    kaydytPisteet.setMnemonic('c');
    kaydytPisteet.setText("Näytetään kaikki käydyt pisteet");

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                layout
                    .createSequentialGroup()
                    .addGroup(
                        layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(
                                layout
                                    .createSequentialGroup()
                                    .addContainerGap(402, Short.MAX_VALUE)
                                    .addComponent(
                                        frame,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(96, 96, 96)
                                    .addComponent(
                                        jFileChooser1,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(
                                layout
                                    .createSequentialGroup()
                                    .addGroup(
                                        layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(dijkstra)
                                            .addComponent(bellmanFord))
                                    .addGap(22, 22, 22)
                                    .addGroup(
                                        layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(kaydytPisteet)
                                            .addComponent(Astar))
                                    .addGap(0, 0, Short.MAX_VALUE)))
                    .addGap(127, 127, 127))
            .addGroup(
                layout
                    .createSequentialGroup()
                    .addGroup(
                        layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(
                                layout
                                    .createSequentialGroup()
                                    .addContainerGap()
                                    .addGroup(
                                        layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(kuvaKentta)
                                            .addGroup(
                                                layout
                                                    .createSequentialGroup()
                                                    .addGroup(
                                                        layout
                                                            .createParallelGroup(
                                                                javax.swing.GroupLayout.Alignment
                                                                    .LEADING)
                                                            .addComponent(
                                                                kuvanAlkuPiste,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE,
                                                                150,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE)
                                                            .addComponent(
                                                                jTextField1,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE,
                                                                javax.swing.GroupLayout
                                                                    .DEFAULT_SIZE,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE))
                                                    .addPreferredGap(
                                                        javax.swing.LayoutStyle.ComponentPlacement
                                                            .RELATED)
                                                    .addGroup(
                                                        layout
                                                            .createParallelGroup(
                                                                javax.swing.GroupLayout.Alignment
                                                                    .LEADING)
                                                            .addComponent(
                                                                jTextField2,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE,
                                                                javax.swing.GroupLayout
                                                                    .DEFAULT_SIZE,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE)
                                                            .addComponent(
                                                                kuvanLoppuPiste,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE,
                                                                150,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE))))
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(
                                        layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(ratkaisuKentta)
                                            .addGroup(
                                                layout
                                                    .createSequentialGroup()
                                                    .addGroup(
                                                        layout
                                                            .createParallelGroup(
                                                                javax.swing.GroupLayout.Alignment
                                                                    .LEADING)
                                                            .addComponent(
                                                                reitinPituus,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE,
                                                                150,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE)
                                                            .addComponent(
                                                                jTextField3,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE,
                                                                javax.swing.GroupLayout
                                                                    .DEFAULT_SIZE,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE))
                                                    .addPreferredGap(
                                                        javax.swing.LayoutStyle.ComponentPlacement
                                                            .RELATED)
                                                    .addGroup(
                                                        layout
                                                            .createParallelGroup(
                                                                javax.swing.GroupLayout.Alignment
                                                                    .LEADING)
                                                            .addComponent(
                                                                jTextField4,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE,
                                                                javax.swing.GroupLayout
                                                                    .DEFAULT_SIZE,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE)
                                                            .addComponent(
                                                                kulunutAika,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE,
                                                                150,
                                                                javax.swing.GroupLayout
                                                                    .PREFERRED_SIZE)))))
                            .addComponent(Ratkaise))
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(
                layout
                    .createSequentialGroup()
                    .addGroup(
                        layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(
                                jScrollPane1,
                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                128,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(Dijkstra8))
                    .addPreferredGap(
                        javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                        javax.swing.GroupLayout.DEFAULT_SIZE,
                        Short.MAX_VALUE)
                    .addGroup(
                        layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(poistaKuva)
                            .addComponent(lisaaUusiKuva))
                    .addGap(109, 109, 109)));
    layout.setVerticalGroup(
        layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(
                layout
                    .createSequentialGroup()
                    .addGroup(
                        layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(
                                layout
                                    .createSequentialGroup()
                                    .addContainerGap()
                                    .addGroup(
                                        layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.LEADING, false)
                                            .addGroup(
                                                layout
                                                    .createSequentialGroup()
                                                    .addComponent(poistaKuva)
                                                    .addPreferredGap(
                                                        javax.swing.LayoutStyle.ComponentPlacement
                                                            .RELATED,
                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                                        Short.MAX_VALUE)
                                                    .addComponent(lisaaUusiKuva)
                                                    .addGap(55, 55, 55))
                                            .addComponent(
                                                jScrollPane1,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                125,
                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(
                                        layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(Astar)
                                            .addComponent(
                                                dijkstra,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                23,
                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(
                                        layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(bellmanFord)
                                            .addComponent(kaydytPisteet))
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(Dijkstra8)
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(Ratkaise)
                                    .addGap(44, 44, 44)
                                    .addComponent(
                                        frame,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(
                                layout
                                    .createSequentialGroup()
                                    .addGap(87, 87, 87)
                                    .addComponent(
                                        jFileChooser1,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addPreferredGap(
                        javax.swing.LayoutStyle.ComponentPlacement.RELATED, 291, Short.MAX_VALUE)
                    .addGroup(
                        layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(
                                layout
                                    .createSequentialGroup()
                                    .addComponent(kuvaKentta)
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(
                                        layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(
                                                kuvanAlkuPiste,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(
                                                kuvanLoppuPiste,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(
                                        layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(
                                                jTextField2,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(
                                                jTextField1,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(
                                                jTextField3,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(
                                layout
                                    .createSequentialGroup()
                                    .addComponent(ratkaisuKentta)
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(
                                        layout
                                            .createParallelGroup(
                                                javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(
                                                reitinPituus,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(
                                                kulunutAika,
                                                javax.swing.GroupLayout.PREFERRED_SIZE,
                                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addPreferredGap(
                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(
                                        jTextField4,
                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap()));

    pack();
  } // </editor-fold>//GEN-END:initComponents