Foros del Web » Programación para mayores de 30 ;) » Java »

Eclipse y Add unimplemented methods

Estas en el tema de Eclipse y Add unimplemented methods en el foro de Java en Foros del Web. Muy buenas a mis amigos de forosdelweb, resulta que tengo una duda con Java al desarrollar una aplicación para escritorio la cual es la siguiente: ...
  #1 (permalink)  
Antiguo 24/06/2012, 12:42
Avatar de xIamAlex  
Fecha de Ingreso: abril-2012
Ubicación: Venezuela
Mensajes: 118
Antigüedad: 12 años, 7 meses
Puntos: 23
Eclipse y Add unimplemented methods

Muy buenas a mis amigos de forosdelweb, resulta que tengo una duda con Java al desarrollar una aplicación para escritorio la cual es la siguiente:

Tengo un JList, con una serie de opciones (valores) que obtengo de una base de datos, y pues le agrego un MouseListener para que haga algo, resulta que actualmente lo hago de la siguiente manera:

// Esta es mi clase que manipula el MouseListener

Código PHP:
class ListAction implements MouseListener {

    public 
void mouseClicked(MouseEvent e) {
        
View_materials_index.Material View_materials_index.Ids[View_materials_index.Menu.getSelectedIndex()];
        new 
View_materials_subject();
    }

    public 
void mouseEntered(MouseEvent e) {
        
    }

    public 
void mouseExited(MouseEvent e) {
        
    }
    
    public 
void mousePressed(MouseEvent e) {
        
    }
    
    public 
void mouseReleased(MouseEvent e) {
        
    }

Me funciona perfectamente, PERO sin embargo me dice que a juro tengo que poner los otros cuatro métodos que no necesito, es decir, solo necesito algo como esto:

Código PHP:
class ListAction implements MouseListener {

    public 
void mouseClicked(MouseEvent e) {
        
View_materials_index.Material View_materials_index.Ids[View_materials_index.Menu.getSelectedIndex()];
        new 
View_materials_subject();
    }

Pero no me deja, el IDE me pone "Add unimplemented methods" o "Create an abstract class" no sé por que, y si creo la clase abstracta no me deja instanciarla, trato de hacerlo así para que el código sea más legible y presentable, ¿Alguna idea de como poder hacerlo? ¡Gracias!
__________________
Las personas quieren autos, casas, teléfonos, dinero, poder, ser famosos, parejas, en fin.. yo solo quiero ser libre y feliz.
  #2 (permalink)  
Antiguo 24/06/2012, 14:22
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 2 meses
Puntos: 454
Respuesta: Eclipse y Add unimplemented methods

Hola:

Si implementas una interfaz (MouseListener) tienes que implementar todos sus métodos o bien hacer que la clase sea abstracta, como te dice eclipse, y entonces no te sirve para lo que quieres porque al ser abstracta (le faltan métodos) no puedes instanciarla.

Pensando en tu problema, java viene con la clase MouseAdapter http://docs.oracle.com/javase/6/docs...seAdapter.html que implementa MouseListener, todos sus métodos, vacíos. Tú tendrías que heredar de ella (en vez de MouseListener) y sobre escribir sólo el método que te interese

Código java:
Ver original
  1. class ListAction extends MouseAdapter {
  2.  
  3.     public void mouseClicked(MouseEvent e) {
  4.         View_materials_index.Material = View_materials_index.Ids[View_materials_index.Menu.getSelectedIndex()];
  5.         new View_materials_subject();
  6.     }
  7. }
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 24/06/2012, 14:58
Avatar de xIamAlex  
Fecha de Ingreso: abril-2012
Ubicación: Venezuela
Mensajes: 118
Antigüedad: 12 años, 7 meses
Puntos: 23
Respuesta: Eclipse y Add unimplemented methods

Perfecto, era justo lo que necesitaba, ya probé e implemente la clase MouseAdapter y de maravillas, mucho más legible ahora..

Mil gracias chuidiang
__________________
Las personas quieren autos, casas, teléfonos, dinero, poder, ser famosos, parejas, en fin.. yo solo quiero ser libre y feliz.

Etiquetas: add, methods, unimplemented
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:30.