Ajuda no metodo Paint()

Oi Galera…

Seguinte estou querendo aprender a usar o metodo paint() mas não estou achando nenhum tutorial que fale a respeito.

Por acaso alguém aki sabe onde eu posso encontrar… To precisando do basico… mas se alguém tiver intermediário e avançado tb vai servir porque pretendo aprender a fazer de um tudo…

       Valeu Galera... ah queria falar uma coisinha...
       A galera que usa esse forum é 10!!!

O método paint(), no Swing, não deve ser sobrescrito. Ao invés disso, sobrescreva paintComponent.

Procure se informar sobre Java2D. Há diversos tutoriais na Internet.

Uma boa referência, mas daí tratando do tema jogos, é o Killer Game Programming in Java, que pode ser lido em pdf no site do autor:
http://fivedots.coe.psu.ac.th/~ad/jg/

Se sua intenção é fazer componentes, talvez seja melhor procurar outro tipo de referência que te explique mais sobre o mecanismo de eventos e detalhes das classes já construídas do Swing. Por exemplo, um livro que te explique como projetar um paint() que suporte um ScrollPane.

Maaas, se você estiver querendo usar o método paint(Graphics g) dos applets eis aqui um exemplo:

http://math.hws.edu/eck/cs124/javanotes3/c6/s1.html

Bem, sua forma geral é:

Supondo que voce queira desenhar uma imagem.

Image img = getImage(getCodeBase(), “imagem.gif”);

public void paint(Graphics g)
{
// aqui voce usa métodos de desenhar strings ou imagens

g.drawString(“Metodo Paint”, 200, 200); // escreve Metodo Paint na tela
g.drawImage(img, 300, 300, this); // desenha o imagem.gif na tela
}

Obs: eu não apliquei no metodo paint tecnicas contra o flickering, que seria double buffering, mas geralmente essa tecnica só é necessaria para imagens em movimento.

Abraços

Galera agradeço pelas resposta enviadas… Foram muito uteis.

vou postar aki o que consegui fazer com a ajuda de vcs.

package desenhar1;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 *
 * @author Rafael Peixoto
 */
public class Main extends JFrame{

    private static JPanel telaPrincipal;
     
    public Main() {
        
    }

    public static void main(String[] args) {
        JFrame jn = new JFrame("Teste Java");
        telaPrincipal = new JPanel(){
            public void paint(Graphics g){ 
            g.setColor( Color.RED);
            g.drawLine( 0, 300, 400, 300 );
            g.drawLine( 100, 600, 100, 0 );
            g.drawImage(img, 300, 300, )
                        }
        };
        jn.add(telaPrincipal);
        jn.getContentPane();
        jn.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
        jn.pack();
        jn.setSize( 400, 400 );  // o SetSize aki é fundamental
        jn.setVisible(true);
        
// TODO code application logic here
    }
    
}

Utilizei o Net Beans IDE 5.5

Abraço… espero que isso ajude os demais usuarios e se quiserem me ajudar mais um pouco agradeço.