O q falta pra funcionar!

O q sera q falta pra funcionar em ???

import javax.swing.*;
import java.awt.Graphics;

public class Pag199 {
      
   int escolha;
   Graphics g = new Graphics(); 

   public Pag199() {
       
       
      String ent;

      ent = JOptionPane.showInputDialog( null,
         " Ditite 1 para desenhar Linhas\n " +
         " Digite 2 para desenhar Retangulos\n " +
         " Digite 3 para desenhar Circulos ");

      escolha = Integer.parseInt( ent );
      
      Teste();
   }

   public void Teste() {
      
      
      for( int cont = 0; cont < 10; cont++ ) {
         switch( escolha ) {
            case 1:
               g.drawLine( 10, 10, 250, 10 + cont * 10 );
               break;
            case 2:
               g.drawRect( 10 + cont * 10, 10 + cont * 10, 
                           50 + cont * 10, 50 + cont * 10 );
               break;
            case 3:
               g.drawOval( 10 + cont * 10, 10 + cont * 10, 
                           50 + cont * 10, 50 + cont * 10 );
               break;
           default:
               JOptionPane.showMessageDialog( null,
                  " Valor Inválido ");            
         } // fim do switch
      } // fim do for
   } // fim do Contrutor

   public static void main( String [] args ) {
      new Pag199();
   }
 }

Fala Ratinho!! blz irmao??

cara… ta faltando algumas coisas fundamentais pra esse código funcionar…
eu nao cheguei a testar o código, mas olhando, de cara vi q ta faltando um “lugar” onde vão ser desenhados os Graphics…

crie um JFrame, aí vc faz um JPanel e desenha essas coisas num JPanel…

outra coisa…
o método Teste() precisa receber algum parâmetro, q ao meu ver, vai ser a figura desenha…

bom… acho q é isso.

flw!
abraços!

æ Ratinho blz ?

Olha só, deu um teminho e fiz um acertos. huauhauhah

[code]import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Pag199 extends JFrame {

private static final long serialVersionUID = 1L;

int escolha;

public Pag199() {

  this.setSize(300,300);
  this.setVisible(true);
   
  String ent; 

  while(true){
    ent = JOptionPane.showInputDialog( null, 
       " Ditite 1 para desenhar Linhas\n " + 
       " Digite 2 para desenhar Retangulos\n " + 
       " Digite 3 para desenhar Circulos ");
    
    escolha = Integer.parseInt( ent );
   
    if (escolha >= 1 && escolha <= 3) break;
  }
  
  repaint(); 

}

public void paint(Graphics g) {

  for( int cont = 0; cont < 10; cont++ ) { 
     switch( escolha ) { 
        case 1: 
           g.drawLine( 10, 10, 250, 10 + cont * 10 ); 
           break; 
        case 2: 
           g.drawRect( 10 + cont * 10, 10 + cont * 10, 
                       50 + cont * 10, 50 + cont * 10 ); 
           break; 
        case 3: 
           g.drawOval( 10 + cont * 10, 10 + cont * 10, 
                       50 + cont * 10, 50 + cont * 10 ); 
           break;           
     } // fim do switch 
  } // fim do for 

} // fim do Contrutor

public static void main( String [] args ) {
new Pag199();
}
} [/code]

Abraço,
Maiocn

Nova Versão. huauhauha

[code]import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Pag199 extends JFrame {

private static final long serialVersionUID = 1L;

int escolha;

int size = 300;

public Pag199() {

    this.setSize(size, size);
    this.setVisible(true);

    String ent;

    while (true){
        while (true) {
            ent = JOptionPane.showInputDialog(null,
                    " Ditite 1 para desenhar Linhas\n "
                            + " Digite 2 para desenhar Retangulos\n "
                            + " Digite 3 para desenhar Circulos ");

            if (ent == null) System.exit(0);
            escolha = Integer.parseInt(ent);

            if (escolha >= 1 && escolha <= 3)
                break;
        }

        repaint();
    }
}

public void paint(Graphics g) {

    g.clearRect(0, 0, size, size);

    for (int cont = 0; cont < 10; cont++) {
        switch (escolha) {
        case 1:
            g.drawLine(10, 10, 250, 10 + cont * 10);
            break;
        case 2:
            g.drawRect(10 + cont * 10, 10 + cont * 10, 50 + cont * 10,
                    50 + cont * 10);
            break;
        case 3:
            g.drawOval(10 + cont * 10, 10 + cont * 10, 50 + cont * 10,
                    50 + cont * 10);
            break;
        } // fim do switch
    } // fim do for
} // fim do Contrutor

public static void main(String[] args) {
    new Pag199();
}

}[/code]

Flw

Valeu irmao… tp… eu tava tentando converter um applet q eu tinha feito pra um no JPanel mesmo, e por isso q o meu codigo fico uma merda!! :oops:

a… o q q
repaint();
faz ??

Mas agora eu aprendi!! Brigado irmao!!

Abracao e te +

repaint() chama paint() de novo.

Assim, não sei se é a realidade, mas creio que esse repaint() faz o seguinte…

Após vc “desenhar”, seu applet está diferente do original, logo, esse repaint atualiza as alterações na tela do applet…se estou errado ou redundante dêem um toke…
:smiley:

Olha só.

repaint serve pra vc dar um “refresh” na tela…
enfim, o paint é executado sempre que vc dá um repaint, ou quando vc faz uma mudança no form ou sobre ele que ele precisa ser “repintado”, um exemplo seria quando vc dá um minimizar…maximizar, ou quando vc dá um resize nele aumentando o tamanho dele, ou até mesmo quando vc arrasta outro form sobre a sua aplicação.

blz?
Abraço,
Maicon

Valeu irmao!!!

:razz: