Chamada outra janela mas não apareceu

2 respostas
jsnpereira

olá, pessoal!!

Tentamos para criar quando move um mouse sobre o botão e abra janela automática… mas não apareceu nenhum, veja os códigos que está correto??

Esse metodo para mover o mouse sobre o botão vem chamar outra janela

public class TesteMouse extends JFrame implements MouseListener{
	
	public TesteMouse(){
		super("Teste Mouse");
		setSize(400,400);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		
		
		Container c = getContentPane();
		c.setLayout(new BorderLayout());
		c.add(getpanel(), BorderLayout.CENTER);
		
		
	}
	
	public Component getpanel (){
		 
		JPanel panel = new JPanel();
		
		JPanel esp1 = new JPanel();
		esp1.setPreferredSize(new Dimension(10,300));
		panel.add(esp1);
		
		JButton jbt = new JButton(new ImageIcon(getClass().getClassLoader().getResource("6649_128x128.png")));
		jbt.addMouseListener(this);
		jbt.setActionCommand("botao");
		panel.add(jbt);
		
		
		
		return panel;
		
		
	}
	
	public static void main(String[] args) {
		TesteMouse tm = new TesteMouse();
		tm.setVisible(true);

	}

	public void mouseEntered(MouseEvent ex) {
		if(ex.getSource().equals("botao")){
				
		EntradaMouse me = new EntradaMouse(); 
	
		}	
		
	}

Outra janela vai abrir automática

public class EntradaMouse {
	
	JFrame jf = new JFrame("Entrada da mouse");
	
	
	public EntradaMouse(){
		
		JPanel jpan = new JPanel();
		
		JLabel lbl = new JLabel("Entrou no botão!!");
		JLabel image = new JLabel( new ImageIcon(getClass().getResource("brilho.png")));
		
		jpan.add(lbl);
		jpan.add(image);
		
		this.jf.add(jpan);
		this.jf.pack();
		this.jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.jf.setVisible(true);
		
	}
	
	

}

Espero vê se está certo esse código…

Aguardo ao Retorno…

2 Respostas

Schwingel

Fala jsnpereira. Beleza?
Meu velho, parece que você está com um problema na interpretação dos comandos.
Você “setou” (termo técnico) a propriedade ActionCommand como sendo “botao”. Essa propriedade é utilizada quando você implementa a ActionListener para “setar” o nome do comando. Neste caso, você implementou a MouseListener.
Uma possível solução seria:

JButton jbt = new JButton(new ImageIcon(getClass().getClassLoader().getResource("6649_128x128.png")));
		jbt.addMouseListener(this);
		jbt.setName("botao");
		panel.add(jbt);

E lá no método mouseEntered ficaria mais ou menos assim:

public void mouseEntered(MouseEvent ex) {
		if(ex.getComponent().getName().equals("botao")){

			EntradaMouse me = new EntradaMouse();

		}	

	}

Boa sorte aew.

Abraço.

Schwingel

jsnpereira

agora acabou de descobrir… está tudo funcionando… valeu, obrigado!!!

Criado 3 de junho de 2010
Ultima resposta 6 de jun. de 2010
Respostas 2
Participantes 2