Identificar Classe que gerou evento

2 respostas
V

Galera como posso identificar uma classe que gerou o Evento, Tenho uma Classe principal que gerencia o evento de 3 páginas, como identifico a classe que gerou evento???

public void windowClosing(WindowEvent we) { IF( //SERIA O QUE AQUI??? ) }

Obrigado,

2 Respostas

J
we.getWindow();

http://java.sun.com/javase/6/docs/api/java/awt/event/WindowEvent.html#getWindow()

J
package classes;

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;



public class EventoJanela {

  PrimeiraJanela objetoPrimeiraJanela = new PrimeiraJanela();
  SegundaJanela objetoSegundaJanela = new SegundaJanela();
  MonitorarJanela monitorarJanela = new MonitorarJanela();


  public EventoJanela(){
    objetoPrimeiraJanela.addWindowListener(monitorarJanela);
    objetoPrimeiraJanela.setVisible(true);

    objetoSegundaJanela.addWindowListener(monitorarJanela);
    objetoSegundaJanela.setVisible(true);

  }


  public static void main (String[] args) {

     EventoJanela eventoJanela = new EventoJanela();

 }


  public class PrimeiraJanela extends javax.swing.JFrame {



            public PrimeiraJanela() {
                initComponents();
                setLocationRelativeTo(null);
            }


            @SuppressWarnings("unchecked")

            private void initComponents() {

                //setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
                setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

                javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
                getContentPane().setLayout(layout);
                layout.setHorizontalGroup(
                    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGap(0, 400, Short.MAX_VALUE)
                );
                layout.setVerticalGroup(
                    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGap(0, 300, Short.MAX_VALUE)
                );

                pack();
            }// </editor-fold>





        }


  public class SegundaJanela extends javax.swing.JFrame {


            public SegundaJanela() {
                initComponents();
            }


            @SuppressWarnings("unchecked")

            private void initComponents() {

                //setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
                setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

                javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
                getContentPane().setLayout(layout);
                layout.setHorizontalGroup(
                    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGap(0, 400, Short.MAX_VALUE)
                );
                layout.setVerticalGroup(
                    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGap(0, 300, Short.MAX_VALUE)
                );

                pack();
            }





        }


  public class MonitorarJanela extends WindowAdapter{

        public void windowClosing(WindowEvent evento) {

          if(evento.getSource() == objetoPrimeiraJanela){
            System.out.println("Evento ocorreu na PrimeiraJanela");
          }

          if(evento.getSource() == objetoSegundaJanela){
            System.out.println("Evento ocorreu na SegundaJanela");
          }


       }

  }//fim da classe MonitorarJanela



}//fim da classe EventoJanela
Criado 19 de janeiro de 2007
Ultima resposta 9 de abr. de 2013
Respostas 2
Participantes 3