Entendendo o Swing

Pessoal fiz o seguinte:

[code]package br.com.game;

import java.awt.Graphics;

import javax.swing.JFrame;

public class Main extends JFrame {

public Main() {
	super();
	setSize(400, 300);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args) {
	Main inicio = new Main();
	inicio.setVisible(true);
}

@Override
public void paint(Graphics g) {
	// TODO Auto-generated method stub
	//super.paint(g);
}

}[/code]

pelo o que entendi. o metodo paint() é quem ‘pinta’ a tela…
eu sobrescrevi ele… pra ver o que aconteceria…

mas não aconteceu nada… a tela continua sendo ‘pintada’.

Ele pinta o conteúdo da tela, mas não as bordas e os botões.
Além disso, o sistema operacional faz a limpeza básica do JFrame, portanto, não espere uma janela transparente.

Mas a graça está em justamente usar o Graphics recebido para desenhar coisas num jogo, por exemplo.

Outra coisa, movi seu tópico para o fórum de interface gráfica.

viny… peguei esse codigo no livro Kill Games bla bla bla java :stuck_out_tongue:

so nao entendi o pq dele ter feito essa validacao

if (dbImage == null) { System.out.println("dbImage is null"); return;

codigo completo:

// global variables for off-screen rendering private Graphics dbg; private Image dbImage = null; : private void gameRender() // draw the current frame to an image buffer { if (dbImage == null){ // create the buffer dbImage = createImage(PWIDTH, PHEIGHT); if (dbImage == null) { System.out.println("dbImage is null"); return; } else dbg = dbImage.getGraphics(); } // clear the background dbg.setColor(Color.white); dbg.fillRect (0, 0, PWIDTH, PHEIGHT); // draw game elements ... if (gameOver) gameOverMessage(dbg); } // end of gameRender()

é possivel dele vir nulo???

Depende de como ele implementou o método createImage().

De qualquer forma, é uma péssima prática carregar a imagem dentro do Render, mesmo que de forma lazy, como ele fez aí.

Ah! Dá uma lida nesse tutorial. Ele é rápido e já dá várias dicas legais:
http://www.cokeandcode.com/info/tut2d.html