El problema que tengo es que no se como hacer el movimiento aleatorio (arriba, abajo, izquierda ,derecha, diagonales no) y ademas debo trabajar con Threads para cada una de las imagenes que deben moverse. Espero haya sido clara
Aca dejo mi codigo para ver si alguien puede ayudarme.
Código:
package hormigas;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.*;
class Ventana implements Runnable
{
private JFrame principal;
private BorderLayout border;
JPanel panelbotones,panel;
private JButton agregar;
Random r=new Random();
int x=0,y=0;
ImageIcon icono;
public Ventana()
{
principal=new JFrame("Hormigas");
principal.setBounds(500,110,500,500);
border=new BorderLayout();
principal.setLayout(border);
panelbotones=new JPanel();
panel=new JPanel();
panel.setLayout(null);
panelbotones.setBackground(Color.WHITE);
panel.setBackground(Color.white);
principal.add(panel,BorderLayout.CENTER);
principal.add(panelbotones,BorderLayout.NORTH);
principal.setVisible(true);
agregar=new JButton("Agregar Hormiga");
agregar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Ventana.this.andar();
}
});
panelbotones.add(agregar);
principal.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
principal.setVisible(true);
}
public void andar()
{
Thread hilo=new Thread(this);
hilo.start();
}
public void run()
{
JLabel boton=new JLabel();
icono=new ImageIcon("C:\\Hormiga.jpg");
int x=r.nextInt(800);
int y=r.nextInt(800);
boton.setIcon(icono);
boton.setBounds(x, y,100,100);
Ventana.this.panel.add(boton);
panel.updateUI();
this.mover();
}
public void mover()
{
x++;
y++;
panel.repaint();
}
public void paint(Graphics g)
{
g.clearRect(x, y, icono.getIconWidth(), icono.getIconHeight());
g.drawImage(icono.getImage(), x, y, icono.getImageObserver());
}
}