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

Herencia de Frames

Estas en el tema de Herencia de Frames en el foro de Java en Foros del Web. Hola , soy nuevo en este foro, me animé a participar Es un ejercicio de aprendizaje. Tengo el siguiente código sencillo en el que se ...
  #1 (permalink)  
Antiguo 27/01/2011, 17:36
 
Fecha de Ingreso: enero-2011
Mensajes: 105
Antigüedad: 13 años, 2 meses
Puntos: 10
Herencia de Frames

Hola , soy nuevo en este foro, me animé a participar

Es un ejercicio de aprendizaje.
Tengo el siguiente código sencillo en el que se crean unos cuantos objetos

Código:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class FrmPlantilla extends JFrame{

    private JLabel lblOperador;
    private JLabel lblResul;
    private JButton btnOperar;
    private JTextField txt1;
    private JTextField txt2;
    private JTextField txtResul;
    private JPanel panel;

    public FrmPlantilla(String Titulo) {
        setTitle(Titulo);
        iniciarComponentes();
        //Ajustar el tamaño de la ventana al mínimo
        pack();
    }

    private void iniciarComponentes()
    {
         lblOperador = new JLabel();
         lblResul = new JLabel();
         btnOperar = new JButton();
         txt1 = new JTextField();
         txt2 = new JTextField();
         txtResul = new JTextField();

        // txt1
        txt1.setText("");
        txt1.setColumns(8);
        // txt2
        txt2.setText("");
        txt2.setColumns(8);
        // lblResul
        lblResul.setText("=");
        // txtResul
        txtResul.setText("");
        txtResul.setColumns(10);
        txtResul.setEnabled(false);
        // btnOperar
        btnOperar.setText("¡Opera!");

        //Crear un panel para colocar los controles
        panel = new JPanel();
        panel.setSize(400,400);
        addWindowListener(new MainWindowListener());
        panel.setBackground(Color.BLUE);
        panel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
        panel.setLayout(new FlowLayout());
        panel.add(txt1);
        panel.add(lblOperador);
        panel.add(txt2);
        panel.add(lblResul);
        panel.add(txtResul);
        panel.add(btnOperar);

        //Añadir los componentes al contenedor
        getContentPane().add(panel, BorderLayout.CENTER);
        
        }
}
;
Quiero hacer una clase hija de esta para utilizar estos controles para hacer operaciones con ellos cambiando 4 cosas pero no se cómo, ¿Qué palabras tengo que utilizar en la nueva clase? Espero haberme explicado bien... ¡Gracias! He probado con extends e implements
  #2 (permalink)  
Antiguo 27/01/2011, 18:16
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 4 meses
Puntos: 13
Respuesta: Herencia de Frames

Hola

Si quieres heredar tienes que hacer
public class ClaseHija extends FrmPlantilla {

}

qué es lo que no te funciona?
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #3 (permalink)  
Antiguo 27/01/2011, 23:11
 
Fecha de Ingreso: agosto-2010
Mensajes: 29
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Herencia de Frames

deberia ser asi, como el unico contructor de la clase padre tiene un parametro este debe ser llamado obligatoriamente desde la clase hija con "super":

Código Java:
Ver original
  1. public class NuevoFrame extends FrmPlantilla{
  2.  
  3.     public NuevoFrame(String titulo){
  4.         super(titulo);
  5.         //...
  6.     }
  7. }
  #4 (permalink)  
Antiguo 28/01/2011, 04:37
 
Fecha de Ingreso: enero-2011
Mensajes: 105
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: Herencia de Frames

aaaaaammmmm vale, no me acordaba de la palabra super, ya se donde esta el fallo, muchas gracias!

Etiquetas: frames, herencia
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 01:10.