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

Java extends multiples

Estas en el tema de Java extends multiples en el foro de Java en Foros del Web. Hola a todos una consulta sobre java, tengo la siguiente clase correspondiente al modelo siguiendo MVC , le hago en extends de DefaultTableModel y quisiera ...
  #1 (permalink)  
Antiguo 27/10/2016, 18:54
 
Fecha de Ingreso: marzo-2016
Ubicación: veracruz
Mensajes: 11
Antigüedad: 8 años, 7 meses
Puntos: 0
Pregunta Java extends multiples

Hola a todos una consulta sobre java, tengo la siguiente clase correspondiente al modelo siguiendo MVC , le hago en extends de DefaultTableModel y quisiera sobre escribir el metodo WindowsOpened pero no puedo extender a la mima vez de JFrame alguien tendria alguna idea de como hacerlo?
PD: De antemano gracias Y ASI TENGO MI MODELO

Código Java:
Ver original
  1. public class Modelo extends DefaultTableModel{
  2.    
  3.     ResultSet rs;
  4.     ConexionMYSQL cn= new ConexionMYSQL();
  5.    
  6.     @Override
  7.     public boolean isCellEditable(int row, int column)
  8.     {
  9.         return column ==5;
  10.     }
  11.    
  12.     public void Tabla(JTable JT)
  13.     {
  14.        
  15.         JT.setModel(this);
  16.         JT.setAutoscrolls(true);
  17.        
  18.         this.addColumn("ID");
  19.         this.addColumn("Nombre");
  20.         this.addColumn("Edad");
  21.        
  22.         if (cn.Conectar()) {
  23.             rs = cn.Consulta("SELECT *  FROM alumnos");
  24.            
  25.             try {
  26.                 while(rs.next())
  27.                 {
  28.                     Object[] fila =
  29.                     {
  30.                             rs.getString(1),
  31.                             rs.getString(2),
  32.                             rs.getString(3)
  33.                     };
  34.                     this.addRow(fila);
  35.                 }
  36.                 cn.CerrarCon();
  37.             } catch (SQLException ex) {
  38.                 Logger.getLogger(Modelo.class.getName()).log(Level.SEVERE, null, ex);
  39.             }
  40.         }
  41.        
  42.        
  43.     }
  #2 (permalink)  
Antiguo 28/10/2016, 09:52
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años
Puntos: 454
Respuesta: Java extends multiples

Hola:

Pues hereda de JFrame y sobrescribe el método ese. No dices por qué tienes que heredar de DefaultTableModel y JFrame a la vez.

Y en MVC el modelo es el modelo y la vista (JFrame) es la vista y no están en la misma clase. Quizás deberías repensar como estás usando ese MVC o revisar el diseño que estás haciendo.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 28/10/2016, 17:55
 
Fecha de Ingreso: marzo-2016
Ubicación: veracruz
Mensajes: 11
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Java extends multiples

Entiendo lo que dices, heredare a mi modelo el JFrame par ahacerlo asi entonces respecto a lo que mencionas tienes razon pero si meto codigo en la vista osea mi JFrame deja de ser mvc no? En mi modelo tengo todos los metodos a utilizar, o ando perdido de como utilizar mvc :/
  #4 (permalink)  
Antiguo 29/10/2016, 07:36
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años
Puntos: 454
Respuesta: Java extends multiples

Hola:

Un JTable y un DefaultTableModel son vista y modelo respectivamente, no necesitas implementar tu propio MVT para estas dos cosas.

No sé que quieres hacer en tu método WindowsOpened , pero si necesitas hacer algo con el modelo ahí (entiendo que por eso quieres que tu modelo herede de JFrame y tenga ese método), lo correcto (ojo, no sé qué quieres hacer, hablo en términos generales) es:

Tu clase Ventana que herede de JFrame y tu clase Modelo que herede de DefaultTAbleModel.
Tu clase Ventana debe tener un método setModel() donde se le pase tu modelo y se lo guarde en un atributo de la claes Ventana para usarlo cuando lo necesites. En tu metodo WindowsOpened() usa ese modelo que te han pasado.

En tu main(), haz el new de tu ventana, el new de tu modelo y pásale el modelo a la ventana con su método setModel().

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: clases, interfaces
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 00:57.