Herança: Sobreescrevendo metodos (não é tão simples...)

3 respostas
R

pessoal, fiz uma classe que é um JFrame que ocupa a tela toda.

import javax.swing.JFrame;
import java.awt.Toolkit;
import java.awt.GraphicsConfiguration;
import java.awt.Dimension;

public class MaxFrame extends JFrame
{	Dimension Tela = Toolkit.getDefaultToolkit().getScreenSize();
	public MaxFrame()
	{  	super();
	   	setSize(Tela);
	   	setUndecorated(true);
		}

	public MaxFrame(GraphicsConfiguration gc)
	{ 	super(gc);
		super.setSize(Tela);
		setUndecorated(true);
		}

	public MaxFrame(String title)

	{	super(title);
	    setSize(Tela);
		setUndecorated(true);
		}

	public MaxFrame(String title, GraphicsConfiguration gc)
	{	super(title, gc);
		setSize(Tela);
		setUndecorated(true);
		}

	public static void main (String args[])
	{	MaxFrame ae = new MaxFrame();
		ae.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		ae.show();
		}




	}

mas eu quero que o metodo setSize da classe “avô” Frame não possa ser utilizado por quem usar a classe MaxFrame
por outro lado, eu quero usar para mudar o tamanho da tela…

se eu sobreescrever o metodo com nada dentro eu não mudo o tamanho da tela…

como faço?

3 Respostas

V

Tente sobrescrever o método da seguinte forma que é uma forma genérica:

private valorRetorno método(tipo parametro1, tipo parametro 2) { super.metodo(parametro1, parametro2); }

tente sobrescrever o método como private

R

não funfou

N

Não se pode diminuir a visibilidade de um método herdado.
Vc pode mudar o tamanho da tela, chamando super.setSize().
E depois, sobrescreve o método sem nada dentro.

Criado 13 de agosto de 2004
Ultima resposta 14 de ago. de 2004
Respostas 3
Participantes 3