Por favor estou com a seguinte dúvida, construi o programa abaixo pra utilizar JLabel (imagens) pra colocar em qualquer lugar da tela, porem não estou dando conta, vcs podem perceber q jah uso tratando eventos do mouse, pego a posiçao do x e do y, e gostaria de poder adicionar várias imagens em qualquer lugar da tela, poderiam concertar o meu código se possiviel?
Jah quebrei muito a cabeça e isso eh o maximo q cheguei, preciso da ajuda de vcs, gujherois…
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
public class Simulador extends JApplet
{
// executado somente quando for uma applet
public void init()
{
PainelSimulador painel = new PainelSimulador();
getContentPane().add(painel, BorderLayout.CENTER);
}
// executado somente quando for uma aplicação
public static void main(String[] args)
{
JFrame janela = new JFrame("Programa");
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
PainelSimulador painel = new PainelSimulador();
janela.getContentPane().add(painel, BorderLayout.CENTER);
janela.setSize(new Dimension(600, 480));
janela.setVisible(true);
}
}
import java.awt.*;
import java.applet.*;
import javax.swing.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import java.util.*;
import java.net.URL;
public class PainelSimulador extends JPanel implements ActionListener
{
// definição de objetos
JButton b1,b2;
Image computador1;
String opcao="";
int xMouse;
int yMouse;
JPopupMenu pop;
JMenuItem preferencias = new JMenuItem("Preferências da Interface");
JMenuItem sair = new JMenuItem("Sair");
public PainelSimulador()
{
Pegador peg = new Pegador();
pop = new JPopupMenu();
//adicionando os JMenuItem
pop.add(preferencias);
pop.add(sair);
preferencias.addActionListener(peg);
sair.addActionListener(peg);
//botão da imagem
b1= new JButton (new ImageIcon("imagem.gif"));
b1.setToolTipText("Inserir");
b1.addActionListener(this);
b1.setActionCommand("imagem");
//botão que servirá pra arrastar
b2= new JButton (new ImageIcon("cursorIcon.gif"));
b2.setToolTipText("Cursor");
b2.addActionListener(this);
b2.setActionCommand("cursor");
//setando o tamanho dos botões
b1.setMaximumSize(new java.awt.Dimension(50, 100));
b2.setMaximumSize(new java.awt.Dimension(50, 100));
// barra de ferramentas
JToolBar barraFerramentas = new JToolBar();
barraFerramentas.add(b1);
barraFerramentas.add(b2);
// definição do layout
setLayout (new BorderLayout());
// adiciona objetos
add (barraFerramentas, BorderLayout.NORTH);
//Pega a imagem
Toolkit kit = Toolkit.getDefaultToolkit();
URL Computador1 = PainelSimulador.class.getResource("computador1.gif");
computador1 = kit.getImage(Computador1);
//imagem do tipo Icon pra inserir no JLabel
Icon icon = new ImageIcon(computador1);
//JLabel label = new JLabel("Text Label", icon, JLabel.CENTER);
JLabel label = new JLabel(icon);
// eventos do mouse
addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent evento)
{
if(evento.getButton() == evento.BUTTON1){
//... executa algo com o botão esquerdo
//pega a posição do x e do y
xMouse = evento.getX();
yMouse = evento.getY();
if (opcao.equals("c"))
add (label);
}
if(evento.getButton() == evento.BUTTON3)
{
//... executa algo com o botão direito
checkForTriggerEvent(evento);
} // Fim do evento do botão direito
} // Fim do metodo mousePressed
public void mouseReleased(MouseEvent evento)
{
checkForTriggerEvent(evento);
}//Fim de mouseReleased
private void checkForTriggerEvent(MouseEvent evento)
{
if ( evento.isPopupTrigger() )
pop.show( evento.getComponent(), evento.getX(), evento.getY() );
}//Fim de checkForTriggerEvent
});
}
//eventos do botão da barra de ferramentas
public void actionPerformed(ActionEvent evento)
{
// botão Computador
if (evento.getActionCommand().equals("computador"))
{
opcao = "c";
}
if (evento.getActionCommand().equals("cursor"))
{
opcao = "#";
}
} // Fim do metodo
//Metodo para o Jpopup Menu
private class Pegador implements ActionListener
{
public void actionPerformed(ActionEvent evento)
{
if ( evento.getSource() == preferencias)
{
System.out.println("itemArquivo");
}
if ( evento.getSource() == sair)
{
System.exit(0);
}
}//Fim de actionPerformed
}//Fim da classe Pegador
}// FIM da classe Painel Simulador