align="justify">} void addButton (String labl, String icn, Component parent, DrawPanel panDr)
{podpis=new JLabel (labl) ;. add (podpis) ;. putConstraint (SpringLayout.WEST, podpis, strut, SpringLayout.WEST, parent) ;. putConstraint (SpringLayout.SOUTH, podpis, strut2, SpringLayout.SOUTH, parent);=rast - 15;=Spring.constant (rast); button=new JButton (new ImageIcon (icn)) ;. setVerticalTextPosition (SwingConstants.TOP); probaAction=new NextAction (panDr, icn ) ;. addActionListener (probaAction) ;. add (button) ;. putConstraint (SpringLayout.WEST, button, strut, SpringLayout.WEST, parent) ;. putConstraint (SpringLayout.SOUTH, button, strut2, SpringLayout.SOUTH, parent); =rast - 85;=Spring.constant (rast);
} class NextAction implements ActionListener
{NextAction (DrawPanel drPan, String nameSloy)
{= drPan;=nameSloy;
} void actionPerformed (ActionEvent event)
{(panDraw.setSloy (sloy));
} String sloy; DrawPanel panDraw;
} int rast=- 5; Spring strut2=Spring.constant (rast); SpringLayout layout=new SpringLayout (); Spring strut=Spring.constant (25);
}
Листинги класу панелі для відображення шарів нейронної мережі
package classWindow;java.awt.*;java.awt.event.*;java.util.*;java.awt.geom.*;javax.swing.*;classNet.*;classWindow.ImagePanel;class DrawPanel extends JPanel
{DrawPanel (JTextArea textArea, MyMenu mM)
{= textArea;=mM;=(Frame) SwingUtilities.getAncestorOfClass (DrawPanel.class, this);=new ArrayList ();=null; (new MouseHandler ()); (new MouseMotionHandler ( ));=new JPopupMenu (); deleteItem=new JMenuItem ( видалити ) ;. addActionListener (new ()
{void actionPerformed (ActionEvent evt)
{. append ( n був видалений елемент n ); (current);
}
}) ;. add (deleteItem);
} boolean setSloy (String sloy)
{(sloy == classWindow outSloy.gif )
{= false; sSloy=false; oSloy=true; return true;
} (sloy == classWindow subSloy.gif )
{= false; sSloy=true; oSloy=false; return true;
} (sloy == classWindow inSloy.gif )
{= true; sSloy=false; oSloy=false; return true;
} (sloy == drawLines )
{(iSloyExist amp; amp; oSloyExist)
{= new Net (owner, ain, asubS, asub, aout); imPanel=new ImagePanel (net1) ;. setNet (net1); (false); false;
} txtArea.append ( n !!! Необхідно мати як мінімум вхідний і вихідний шар !!! n );
return true;
} true;
} void paintComponent (Graphics g)
{. paintComponent (g); D g2=(Graphics2D) g; (int i=0; i lt; squares.size (); i ++). draw ((Rectangle2D) squares.get ( i));
} Rectangle2D find (Point2D p)
{(int i=0; i lt; squares.size (); i ++)
{D r=(Rectangle2D) squares.get (i); (r.contains (p)) return r;
} null;
} void add (Point2D p)
{x=p.getX (); y=p.getY (); (iSloy)
{= JOptionPane.showInputDialog ( Кількість нейронів в шарі );=Integer.parseInt (ainput);=true;=new Rectangle2D.Double (x-SIDELENGTH/2, y-SIDELENGTH/ 2, SIDELENGTH/2, SIDELENGTH) ;. add (0, current);
} (sSloy)
{= JOptionPane.showInputDialog ( Кількість нейронів в шарі );=Integer.parseInt (ainput); ++; (asubS == 1)
{= new int [asubS]; [0]=atemp;
}
{[] tempSub=new int [asubS - 1] ;. arraycopy (asub, 0, tempSub, 0, asub.length);=new int [asubS] ;. arraycopy (tempSub, 0 , asub, 0, tempSub.length); [asubS - 1]=atemp;
}=true;=new Rectangle2D.Double (x-SIDELENGTH/2, y-SIDELENGTH/2, SIDELENGTH, SIDELENGTH);=squares.size (); (atemp == 0) squares. add (current); if (oSloyExist) squares.add (squares.size () - 1, current); squares.add (squares.size (), current);
} (oSloy)
{= JOptionPane.showInputDialog ( Кількість нейронів в шарі );=Integer.parseInt (ainput);=true;=new Rectangle2D.Double (x-SIDELENGTH/2, y-SIDELENGTH/ 2, SIDELENGTH * 2, SIDELENGTH);=squares.size (); (atemp == 0) squares.add (current); squares.add (squares.size (), current);
}=false;=false;=false; ();
} void remove (Rectangle2D s)