Olá Pessoal. XD
Bom minha duvida é no método paintComponent() da classe abaixo.
Queria, se possível, a ajuda dos amigos para minha compreensao do porque o método paintComponent é chamando dentro dele mesmo?
Já estudei recursividade, é isso que acontece no método abaixo? Se não. Desculpe a inocencia.
Segue o código abaixo:
//Desenha duas linhas que se cruzam em um panel
import java.awt.Graphics;
import javax.swing.JPanel;
public class DrawPanel extends JPanel{
//desenha um X a partir dos cantos do painel
public void paintComponent(Graphics g){
//Chama paintComponent para assegurar que o painel é exibido corretamente
super.paintComponent(g);
int width = getWidth();
int height = getHeight();
//Desenha uma linha a partir do canto superior esquerdo até o inferior direito
g.drawLine(0, 0, width, height);
} //Fim do método paintComponent
} //Fim da classe DrawPanel
Segue o código da classe para executar o aplicativo:
//Aplicativo para exibir uma DrawPanel
import javax.swing.JFrame;
public class DrawPanelTest {
public static void main(String args[]){
//Cria um painel que contém nosso desenho
DrawPanel panel = new DrawPanel();
//Cria um novo frame para armazenar o painel
JFrame application = new JFrame();
//configura o frame para ser encerrado quando é fechado
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
application.add(panel); // adiciona o painel ao frame
application.setSize(250, 250); // configura o tamanho do frame
application.setVisible(true); // torna o frame visível
} //Fim do main
} //Fim da classe DrawPanelTest
Se os amigos puderem opinar a respeito do código dando dicas de melhoras no código-fonte, também aceito XD
Desde já agradeço! 