jFrame não retorna jPanel com Graphics

3 respostas
R

Bom dia,

Eu tenho um livro de Java e estou lendo-o aos poucos. Cheguei na parte da classe Graphics, e me ocorreu o seguinte problema:
Acontece que eu trabalho com o IDE Netbeans 6.9. E nessa parte do livro, ele vem com um código de duas classes, que retorna uma janela com duas linhas diagonais opostas (um X). Bem, essa é a intenção, pois, mesmo se eu copiar exatamente como o código aparece no livro, não me é mostrado nada.
Minha dúvida está na segunda classe.

//Desenha um X num JPanel

import java.awt.Graphics;
import java.swing.JPanel;

public class DrawPanel extends JPanel{
     // X será desenhado a partir dos cantos do JPanel
     public void paintComponent (Graphics g) {
          super.paintComponent (g);
          int width = getWidth();
          int height = getHeight();
          g.drawLine (0,0,width,height);
          g.drawLine (0,height,width,0);

     }
}

MINHA DUVIDA ESTÁ AQUI:

//Exibe um DrawPanel
import javax.swing.JFrame;

public class DrawPanelTest{
     public static void main (String args[]){
          DrawPanel panel = new DrawPanel();
          JFrame application = new JFrame();
          application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          application.add (panel);
          application.setSize (250,250);
          application.setVisible (true);
     }
}

Dúvida: A segunda classe não deveria ser a classe main? E mesmo assim não funciona.

Obrigado :wink:

3 Respostas

ViniGodoy

Aqui funcionou perfeitamente.

Desenha uma janela com um x no meio. Não dá nenhum erro aí?

R

Não. “Construído com sucesso”, é o que aparece no console. só que n mostra nada. a classe main fica em branco msm?

ViniGodoy

Eu só deixei essas 2 classes no projeto.
E defini DrawPanelTest como a main class.

Você pode forçar a barra clicando com o botão direito sobre DrawPanelTest e usando a opção “executar arquivo”.

Criado 1 de janeiro de 2011
Ultima resposta 1 de jan. de 2011
Respostas 3
Participantes 2