O q ha de errado nesse cod

5 respostas
P

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

public class testechave extends JApplet {

int cord1,cord2, choice;
Boolean sair = true;

public void init( ) {

String input;
String tamanho1, tamanho2;

input = JOptionPane.showInputDialog( “1 - Linhas\n” + “2 - Retângulos\n” + “3 - Círculos\n” );
choice = Integer.parseInt( input );

JOptionPane.showMessageDialog(null,Digite as coordenadas da linha);

tamanho1= JOptionPane.showInputDialog(Digite coordenadas inicial);

cord1 = Stringparseint(tamanho1);

tamanho2 = JOptionPane.showInputDialog(“Digite coordenadas inicial”);
cord2= Integer.parseInt( tamanho2 );

}

public void paint( Graphics g ){

String op;

char op1;

while (sair)

switch( choice ) {
case 1:  
        	g.drawLine( 10, 10, cord1, cord2);
break;

case 2:
            	g.drawRect( 10, 10,cord1, cord2);
break;

case 3:
        	g.drawOval( 10, 10,cord1, cord2);
break;

default:
JOptionPane.showMessageDialog(null, "Valor inválido" );

op = JOptionPane.showInputDialog("Deseja parar  S/N:");
   	op1=op.charAt(0);//converte string para char
     	if ((op1 == 's') | (op1 == 'S'))
       	 sair=false;
    	 else 
       	 sair= true;
}

}

}

eu nao to conseguindo entender oo q tem de eraddo nese cod sera q alguem pode me ajudar?

5 Respostas

Mantu

Mas o quê, exatamente, acontece de errado com seu programa?

Guitar_Men

Posta o erro ai pra gente poder te ajudar !!!

Micke
cord1 = Stringparseint(tamanho1);

//Nao seria assim???

cord1 = Integer.parseInt(tamanho1);
MichelSante

Altere este trecho

if ((op1 == 's') | (op1 == 'S')) 
sair=false; 
else 
sair= true;

Para isso aki

if ((op1 == 's') || (op1 == 'S')) 
sair=false; 
else 
sair= true;
ViniGodoy

MichelSante:
Altere este trecho

if ((op1 == 's') | (op1 == 'S')) 
sair=false; 
else 
sair= true;

Para isso aki

if ((op1 == 's') || (op1 == 'S')) sair=false; else sair= true;

Não faz diferença qual das construções usar. A melhor mesmo seria assim, sem o if:
sair = (op1 == ‘s’ || op1 == ‘S’);

Alguma dicas.

A primeira: Sempre que postar códigos, use a tag code. Se você não sabe fazer isso, veja esse tutorial:
http://www.guj.com.br/posts/list/50115.java

A segunda: Sempre escreva que erro que está dando, de preferência indicando a linha do erro com algum comentário. Se der alguma exceção, poste a exceção completa.

A terceira: Nunca use o objeto Graphics diretamente. Uma regra de ouro do Swing é que ele não deve ser alterado, de forma alguma. A melhor forma de garantir que o estado dele não muda, é fazer uma cópia do objeto.

Quarta: Você esqueceu de chamar o paint da classe pai. É uma boa fazer isso antes da pintura.

Exemplo do 3 e 4:

public void paint(Graphics g){ super(g); //Chama o paint da classe pai Graphics2D g2d = (Graphics2D)g.create(); //Faz a cópia do graphics //Desenhe aqui usando o g2d g2d.dispose(); //Elimine a cópia ao final }

Criado 7 de março de 2008
Ultima resposta 7 de mar. de 2008
Respostas 5
Participantes 6