Você não chamou o método paint que faz a inicialização do JFrame.
E
entanglement
Que mistureba. Normalmente você faria algo como:
packageguj;importjava.awt.Color;importjava.awt.EventQueue;importjavax.swing.JFrame;publicclassBlackBackgroundextendsJFrame{/** * Inicia a aplicacao */publicstaticvoidmain(String[]args){EventQueue.invokeLater(newRunnable(){publicvoidrun(){try{BlackBackgroundframe=newBlackBackground();// Note que setVisible não deve ser chamado dentro do construtor do JFrame// Deve ser chamado por quem cria o JFrameframe.setVisible(true);}catch(Exceptione){e.printStackTrace();}}});}/** * Construtor do JFrame */publicBlackBackground(){setSize(500,500);setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);getContentPane().setBackground(Color.BLACK);}}
Cuidado com o método “paint” - ele raramente precisa ser sobreescrito. Em um programa de iniciante, sobreescrever o método “paint” normalmente indica algum problema de conceito. E mesmo o “paintComponent” só deve ser sobreescrito se você souber o que está fazendo.
Guilherme_Albuquerqu
wagnerfrancisco:
Você não chamou o método paint que faz a inicialização do JFrame.
Guilherme-san, normalmente você nunca instancia um JFrame e sim uma classe derivada dele, como no exemplo que você tentou mostrar.
Siga o exemplo que eu dei (e que foi modificado de um gerado pelo plugin WindowBuilder do Eclipse). Não fique inventando coisas.
E a propósito, dificilmente você usará o objeto Graphics ou Graphics2D em uma aplicação Swing, a menos que você precise, por algum motivo, criar um componente que você mesmo tenha de desenhar alguma coisa. Para pintar o fundo de um JFrame de preto, você não faz isso (não funciona direito), e sim pega o Content Pane e seta o background (tal como eu fiz no exemplo).
R
rof20004
Graphics2D é usada comument em Jogos ou Desenhos em geral, nao faca modificacoes no seu componente por isso, pois a manutencao futura ficara prejudicada;.