/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Como usar varios escuchadores en el mismo Frame?

 
      Índice del Foro elrincondelc.com -> Java
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
weezyfbaby



Registrado: 17 Nov 2013
Mensajes: 2

MensajePublicado: 17/11/2013 5:13 pm
Título: Como usar varios escuchadores en el mismo Frame?

uen dia colegas,tenia esta duda.

Estoy ya dentro del tema de visual en java,ahora me piden hacer un programa que de un JCombobox despliegue una lista de películas predefinidas y llene los campos genero,duración y clasificación que son JTextFields hasta ahí tengo todo bien.

Lo he hecho con el ItemListener.

Pero pero tengo 2 botones uno llamado limpiar y otro salir,ya se como programarlos,el problema es que no se como implementarlo porque necesito usar ActionListener para los botones.

Como puedo usar ambos escuchadores en el Frame el problema viene cuando hago el frame a mi me enseñaron a declararlo así

class Peliculas extends JFrame implements ItemListener{
.
.
.

public static void main(String[] args) {

Peliculas P=new Peliculas();

}
}

Realmente solo necesito saber como puedo hacer para que pueda utilizar el ActionListener porque la programación de los botones seria así:

public void actionPerformed(ActionEvent evt)
{
Object presionado=evt.getSource();
if(presionado==cmdlimpiar)
limpiar();
if(presionado==cmdsalir)
System.exit(0);
}


Código:
/*
 */
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
class Peliculas extends JFrame implements ItemListener {
   
      //Icono
      ImageIcon icono = new ImageIcon("1.JPEG");
      JLabel imagen = new JLabel();
      //Labels
      JLabel lbltitulo=new JLabel("CATALOGO DE PELICULAS: ");
      JLabel lblgenero=new JLabel("GENERO: ");
      JLabel lblduracion=new JLabel("DURACION: ");
      JLabel lblclasificacion=new JLabel("CLASIFICACION: ");
      JLabel lblformato=new JLabel("FORMATO");
      //JTextFields
      JTextField jtxtgenero=new JTextField();
      JTextField jtxtduracion=new JTextField();
      JTextField jtxtclasificacion=new JTextField();
      
      //Combobox
      String[] code = { "Batman The Dark Knight Rises", "Transformers The Dark Side Of The Moon", "Fast & Furious 6" };
      JComboBox combo=new JComboBox(code);
      
      //Checkbox
      JCheckBox chkopcion2D = new JCheckBox("2D",false);
       JCheckBox chkopcion3D = new JCheckBox("3D",false);
       JCheckBox chkopcion4D = new JCheckBox("4D",false);
       JCheckBox chkopcionIMAX = new JCheckBox("IMAX",false);
      
      //JButtons
      JButton cmdlimpiar=new JButton("LIMPIAR");
      JButton cmdsalir=new JButton("SALIR");
      
      //Constructor
      public Peliculas(){
         
      super("CATALOGO DE PELICULAS");
      this.setBounds(0,0,800,600);
      this.setLocationRelativeTo(null);
   
      //COMBOBOX
      combo.setBounds(40,200,180,19);
      //Labels Posicion y Tamaño
      lbltitulo.setBounds(300,160,180,19);
      lblgenero.setBounds(300,200,180,19);
      lblduracion.setBounds(300,220,180,19);
      lblclasificacion.setBounds(300,240,180,19);
      lblformato.setBounds(350,270,189,19);
      //Labels Posicion y Tamaño
      jtxtgenero.setBounds(400,200,180,19);
      jtxtduracion.setBounds(400,220,180,19);
      jtxtclasificacion.setBounds(400,240,180,19);
      
      //Chechkbox
      chkopcion2D.setBounds(300,300,180,19);
      chkopcion3D.setBounds(300,320,180,19);
      chkopcion4D.setBounds(300,340,180,19);   
      chkopcionIMAX.setBounds(400,300,300,25);
         
      //Labels Posicion y Tamaño
      cmdlimpiar.setBounds(300,400,90,19);
      cmdsalir.setBounds(400,400,90,19);
   
      //Imagen
      imagen.setBounds(100,0,600,145);
      
      setLayout(null);
      ImageIcon icono2 = new ImageIcon(icono.getImage().getScaledInstance(1, 11,Image.SCALE_DEFAULT));
      imagen.setIcon(icono);
      this.add(imagen);
      
      this.add(lbltitulo);
      this.add(lblgenero);
      this.add(lblduracion);
      this.add(lblclasificacion);
      this.add(lblformato);
      this.add(jtxtgenero);
      this.add(jtxtduracion);
      this.add(jtxtclasificacion);
      
      add(combo);/*
      combo.addItem("Batman The Dark Knight Rises");
      combo.addItem("Transformers The Dark Side Of The Moon");
      combo.addItem("Fast & Furious 6");
      combo.addActionListener(this);*/
   
      this.add(cmdlimpiar);
      this.add(cmdsalir);
      
      this.add(chkopcion2D);
      this.add(chkopcion3D);
      this.add(chkopcion4D);
      this.add(chkopcionIMAX);
      
      combo.addItemListener(this);
      cmdsalir.addItemListener(this);
      this.setVisible(true);
   }
public void itemStateChanged(ItemEvent e){
   
    if (combo.getSelectedItem().equals("Batman The Dark Knight Rises")){
            jtxtgenero.setText("Accion");
            jtxtduracion.setText("165 min");
         jtxtclasificacion.setText("B");
      }
   else    
   if (combo.getSelectedItem().equals("Transformers The Dark Side Of The Moon")){
          jtxtgenero.setText("Ciencia Ficcion");
            jtxtduracion.setText("155 min");
         jtxtclasificacion.setText("A");
   }
   else      
   if (combo.getSelectedItem().equals("Fast & Furious 6")){
          jtxtgenero.setText("Accion");
            jtxtduracion.setText("90 min");
         jtxtclasificacion.setText("B");
   }      
   
   
   }
   
    public static void main(String[] args) {
 
    Peliculas P=new Peliculas();
   
    }
}
Volver arriba
cascard



Registrado: 25 Jul 2008
Mensajes: 17
Ubicación: Honduras

MensajePublicado: 18/11/2013 6:01 pm
Título: Como usar varios escuchadores en el mismo Frame?

Buenas tardes amigo weezyfbaby, realmente poder usar varios escuchas en una misma clase es sencillo. Primero hay que tener en cuenta que los escuchas en java son interfaces por lo tanto para implementar mas de una se hace uso de la coma ",". por ejemplo:
Código:

class Peliculas extends JFrame implements ItemListener, ActionListener {
        resto de codigo que necesitas....
}


solo tienes que separar por comas las implementaciones de las interfaces.
suerte amigo, espero haberte ayudado.
Volver arriba
weezyfbaby



Registrado: 17 Nov 2013
Mensajes: 2

MensajePublicado: 18/11/2013 7:22 pm
Título: Re: Como usar varios escuchadores en el mismo Frame?

cascard escribió:
Buenas tardes amigo weezyfbaby, realmente poder usar varios escuchas en una misma clase es sencillo. Primero hay que tener en cuenta que los escuchas en java son interfaces por lo tanto para implementar mas de una se hace uso de la coma ",". por ejemplo:
Código:

class Peliculas extends JFrame implements ItemListener, ActionListener {
        resto de codigo que necesitas....
}


solo tienes que separar por comas las implementaciones de las interfaces.
suerte amigo, espero haberte ayudado.


No inventes apoco solo eso me faltaba,jajaja la mala onda que he publicado en varios lados y no me quieren decir Sad.

Pero muchísimas gracias colega,ya me salió mi programa,de hecho tenia esa dudota de como implementar varios escuchadores y ya me la resolviste.

Gracias.
Volver arriba
Masakre



Registrado: 06 Jun 2012
Mensajes: 245

MensajePublicado: 23/11/2013 2:00 pm
Título:

Saludos, tengo una duda respecto a esto, espero me puedan orientar un poco:
Yo he creado algunos programas con interfaz gráfica en Java... también con Swing, aunque ciertamente lo hice con ayuda de Netbeans. Es decir, lo usaba para seleccionar los eventos y sólo escribía el código dentro de los métodos que aparecían.
He creado también el juego de la Snake. Eso fue como hace 2 meses, un día en que estaba probando muchas de las funciones de Java, porque sólo había visto sobre C++. Y ahora que lo vuelvo a ver, conociendo algunos temas sobre Java, me parece curioso porque usé muchas cosas que no sé ahora mismo qué significan.

Por ejemplo, aparece el método formKeyPressed y también varias instancias de ActionListener (ahora sé que fueron creadas usando clases anónimas), y por otro lado, aparecen métodos que se activan al hacer click en algún componente, como éste por ejemplo: opt1ActionPerformed
Y en ningún momento la clase Principal, que extiende de JFrame, realiza implements de interfaces.

Es la primera vez que escuchó de "escuchadores", como tema. Es decir, había leído Listeners pero no he sabido con exactitud a qué se refiere... ¿Por qué el actionPerformed de ustedes sí necesita agregar implements?
Volver arriba
      Índice del Foro elrincondelc.com -> Java
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com