Java - actionListener y metodoSaludos compañeros, quiero

 
Vista:

actionListener y metodoSaludos compañeros, quiero

Publicado por Alejandro (279 intervenciones) el 17/10/2006 23:45:05
Saludos compañeros, quiero realizar una clase agregar_cadena para agregar un actionListener a los botones para evitar repetir código, y lo he hecho mediante una clase que implementa ActionListener, y dentro de esa clase un actionPerformed. Hasta ahí bien, pero mi problema es que también necesito ese mismo código no para un actionPerformed sino como si se tratase de un metodo cualquiera que lo pudiese llamar cualquier vez, tipo agregar_cadena (… );

Espero que me haya explicado bien, por favor ayudadme, que es un poco urgente, y tengo un lio tremendo ahora.
Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:actionListener y metodoSaludos compañeros, quie

Publicado por chuidiang (950 intervenciones) el 18/10/2006 06:23:37
Hola:

No sé si te he entendido, pero puedes hacer la clase que implemente ActionListener y ponerle un método más. Luego actionPerformed llamaría a ese método. También tú, desde cualquier lado del código puedes llamar a ese método

public class MiActionListener implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
otroMetodo();
}
public void otroMetodo()
{
// Aquí lo que sea
}
}

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:actionListener y metodoSaludos compañeros, quie

Publicado por Alejandro (279 intervenciones) el 18/10/2006 15:42:44
Si, pero si a otroMetodo() le quiero pasar argumentos, me da error (si le paso otro argumento que no sea el actionEvent). Lo que yo tng hecho es:

public class miClase implements ActionListener
{
public miClase() {}

public miClase(arg1, arg 2)
{ ... }

public void actionPerformed(Action evt)
{ otro_metodo (arg1, arg2); }

public void otro_metodo ( arg1, )

}

Por favor, ayudame. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:actionListener y metodoSaludos compañeros, quie

Publicado por chuidiang (950 intervenciones) el 18/10/2006 16:00:57
Hola:

Para tener accesibles arg1 o lo que sea, tienes que guardaralos en algun sitio

public class miClase implements ActionListener
{
private arg1,arg2;
public miClase() {}

public miClase(arg1, arg 2)
{
this.arg1 = arg1;
this.arg2 = arg2;
... }

public void actionPerformed(Action evt)
{ otro_metodo (arg1, arg2); } // ya no debería protestar

public void otro_metodo ( arg1, arg2)

}

De todas formas, si los guardas y otro_metodo() es de la misma clase, ya no necesitas pasarselos como parámetros del método.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:actionListener y metodoSaludos compañeros, quie

Publicado por Alejandro (279 intervenciones) el 18/10/2006 16:53:51
Si, en eso ya habia pensado, pero es que los parametros que le paso algunos son del tipo JButton y JMenuItem y no se como igualarlos, creo k no se puede hacer:
JMenuItem m_it=new JMenuItem();
m_it=item_parametro;
y lo mismo con botones.

Me daba error.

Como puedo salir de esto ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:actionListener y metodoSaludos compañeros, quie

Publicado por chuidiang (950 intervenciones) el 19/10/2006 05:27:36
Hola:

Puedes hacerlo siempre que pongas los mismos tipos o bien tipos "padre". Por ejemplo

public class miClase implements ActionListener
{
private JMenuItem arg1
private JButton arg2;
public miClase() {}

public miClase(JMenuItem arg1, JButton arg 2)
{
this.arg1 = arg1;
this.arg2 = arg2;
... }

public void actionPerformed(Action evt)
{ otro_metodo (arg1, arg2); } // ya no debería protestar

public void otro_metodo ( JMenuItem arg1, JButton arg2)

}

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:actionListener y metodoSaludos compañeros, quie

Publicado por Alejandro (279 intervenciones) el 19/10/2006 12:45:24
Y luego desde otra clase distinta podria llamar a ese metodo que esta dentro del actionPerformed ??? Como lo podria hacer, de esta manera :

(este codigo en la otra clase)
Agregar ag=new Agregar ( ... );
ag.otro_metodo(...);

Se podria hacer aunque este dentro del actionPerformed ??

Es que necesito tener ese codigo en un metodo, para poder llamarlo varias veces, y tambien en un actionListener para asignarselo a un boton. Como podria solucionar esto ??? ( Perdon por mi insistencia)
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:actionListener y metodoSaludos compañeros, quie

Publicado por chuidiang (950 intervenciones) el 19/10/2006 20:27:23
Hola:

Ese otro método no está dentro del actionPerformed(). Es un método publico más de la clase, por lo que puedes llamarlo como a cualquier otro método. El actionPerformed() unicamente lo llama, como podrías hacerlo en cualquier otro lado.

Sé bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar