Listado completo de tutoriales

99 - Generación automático de métodos de las superclases con Eclipse


Es muy común que tengamos que sobreescribir otros métodos heredados a parte del equals, toString y hashCode. Eclipse nos permite ver todos los métodos heredados accediendo a la opción Source -> Override/Implement Methods...

Java Eclipse Override/Implement Methods

Problema:

Implementar una clase que herede de JFrame. Luego sobreescribir el método paint y dibujar unas líneas.

Generar el método paint en forma automática con Eclipse.

El primer paso es crear el esqueleto básico para que muestre el formulario.

Clase: Formulario

import javax.swing.JFrame;

public class Formulario extends JFrame {

    public static void main(String[] args) {
        Formulario formulario1=new Formulario();
        formulario1.setBounds(0,0,800,600);
        formulario1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        formulario1.setVisible(true);
    }

}

Ahora estando el cursor dentro de la clase Formulario procedemos a elegir la opción del menú de Eclipse "Source -> Override/Implement Methods...", la misma nos muestra un diálogo con todas las superclases de la clase Formulario:

Java Eclipse Override/Implement Methods

Si queremos ver los métodos en lugar de las clases debemos presionar el ícono marcado en la imagen anterior, luego se despliegan todos los métodos que podemos sobreescribir:

Java Eclipse Override/Implement Methods

Podemos empezar a escribir el nombre del método y posteriormente seleccionarlo.

Una vez que aceptamos tendremos codificado el esqueleto de los métodos seleccionados:

Java Eclipse Override/Implement Methods

Finalmente nos queda implementar la lógica para dibujar las líneas dentro del método paint:

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JFrame;

public class Formulario extends JFrame {

    @Override
    public void paint(Graphics g) {
        // TODO Auto-generated method stub
        super.paint(g);
        g.setColor(Color.BLUE);
        g.drawLine(0, 0, getWidth(), getHeight());
        g.drawLine(getWidth(), 0, 0, getHeight());
    }

    public static void main(String[] args) {
        Formulario formulario1 = new Formulario();
        formulario1.setBounds(0, 0, 800, 600);
        formulario1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        formulario1.setVisible(true);
    }

}

Retornar