Me ajudem achar o erro quando vou desenhar

1 resposta
A

Bom dia gente estou com um problema criei uma classe chamada ExameClinico onde vou fazer alguns desenhos, mas eu preciso chamar o metodo desta classe de outra classe chamada Procedimentos. Ate ai tudo bem, eu chamei o metodo MarcaDente da propria classe e funcionou belezinha, mas quando eu chamo esse metodo da classe Procedimentos nao acontece nada e nas linhas de erros do netbeans mostra um erro na linha 17,21 e da 28 a 31 da classe ExameClinico, eu percebi que tem alguma coisa haver com a variavel do tipo graphics, alguem pode me ajudar? Abaixo esta o codigo das duas classes.

import java.awt.Color;
import java.awt.Graphics2D;

 public class ExameClinico extends javax.swing.JInternalFrame 
{
 Graphics2D g = (Graphics2D) getGraphics();

 public ExameClinico()
 {
  initComponents();
 }
public void  MarcaDente(int dente,int face,String cor)
 {
    
  if(cor.equals("Vermelho") )
  {
   g.setColor(Color.RED);
  }
  else
  {
   g.setColor(Color.GREEN);
  }

 if(dente == 18)
 {
  if(face == 1)
  {
   g.drawLine(49,269,61,274);
   g.drawLine(49,268,61,273);
   g.drawLine(48,275,60,267);
   g.drawLine(48,274,60,266);
  }
 }
 
 }

Agora a classe Procedimentos que é onde eu chamo o medoto MarcaDente.

import java.awt.Graphics2D;

public class Procedimentos  extends javax.swing.JInternalFrame 
{
 ExameClinico job ;
 /** Creates new form Procedimentos */
 public Procedimentos()
 {
  initComponents();
 }
 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)                                         
 {                                             
 job = new ExameClinico();
 job.MarcaDente(18,1,"Vermelho");
 }

Muito obrigado, conto com a ajuda de voces.

1 Resposta

fantomas

Carinha, tente enviar a exception que a JVM mostra ao ocorrer o erro na próxima.

O que percebi é que vc está utilizando uma instancia da classe JInternalFrame (ver implementação da classe ExameClinico - extends) logo, vc deveria adicionar a instancia desta classe (ExameClinico) a uma outra instancia da classe JDesktopPane, não esquecendo de torna-la visivel antes de executar o método que vc mencionou. Atenção, que esta estratégia tem impacto na fluxo; vc deverá adicionar a instancia da classe JInternalFrame apenas uma vêz. Faça uma revisão no tutorial sobre estas duas classes.

Provavelmente este é um dos problemas.

P.S Faça um pesquisa sobre os padrões e melhores práticas de codificação Java, métodos com letra maiuscula no ínicio do nome não é recomendado. Ao invés de MeuQueridoMetodo() escreva meuQueridoMetodo().

flws

Criado 28 de maio de 2009
Ultima resposta 28 de mai. de 2009
Respostas 1
Participantes 2