Erro no código?

4 respostas
rrp1989

estou com problemas para compilar esse código

uso o eclipse, e tá dando erro na class TipodeCartao dizendo que eu preciso implementar o ItemListener.itemStateChange

Mas eu ja fiz isso!!!!

No inicializador tb da erro dizendo que o método não foi definido,

Taí o código

mport java.awt.*;

import javax.swing.*;
import java.awt.event.*;
public class aplicacao1a extends JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JLabel lcodigo,lnome,lsobrenome,lsexo,ltipocartao;
	private JTextField codigo,nome,sobrenome;
	private JRadioButton masculino,feminino;
	private ButtonGroup sexo;
	private JCheckBox CD,VS;
	
	
	public aplicacao1a(){
		setTitle("Informações de clientes...");
		Container c=getContentPane();
		c.setLayout(null);
		
		lcodigo=new JLabel("Código");
		lcodigo.setBounds(15,10,70,20);
		c.add(lcodigo);
		codigo= new JTextField(10);
		codigo.setBounds(95, 10, 35, 20);
		c.add(codigo);
		
		lnome=new JLabel("Nome:");
		lnome.setBounds(15,40,70,20);
		c.add(lnome);
		nome= new JTextField(10);
		nome.setBounds(95, 40, 280, 20);
		c.add(nome);
		
		lsobrenome=new JLabel("Sobrenome:");
		lsobrenome.setBounds(15,70,70,20);
		c.add(lsobrenome);
		sobrenome= new JTextField(10);
		sobrenome.setBounds(95, 70, 250, 20);
		c.add(sobrenome);
		
		lsexo=new JLabel("Sexo");
		lsexo.setBounds(15,110,70,20);
		c.add(lsexo);
		
		masculino=new JRadioButton("Masculino");
		masculino.setBounds(95, 110, 100,20);
		c.add(masculino);
		
		
		feminino=new JRadioButton("Feminino");
		feminino.setBounds(195, 110, 250,20);
		c.add(feminino);
		
		sexo=new ButtonGroup();
		sexo.add(masculino);
		sexo.add(feminino);
		
		EscolhaSexo opcao=new EscolhaSexo();
		masculino.addItemListener(opcao);
		feminino.addItemListener(opcao);
		
		ltipocartao=new JLabel("Cartão de crédito");
		ltipocartao.setBounds(15,130,110,20);
		c.add(ltipocartao);
		
		VS= new JCheckBox();
		VS.setBounds(130,130,70,20);
		c.add(VS);
		
		CD=new JCheckBox();
		CD.setBounds(200, 130, 70, 20);
		c.add(CD);
		
		TipodeCartao escolha=new TipodeCartao();
		VS.addItemListener(escolha);
		CD.addItemListener(escolha);
		
		setLocation(100,100);
		setSize(200,420);
		
	}
	private class EscolhaSexo implements ItemListener{
		private String valsexo;
		
		public void itemStateChanged(ItemEvent e){
			if(e.getSource()==masculino){
				if(e.getStateChange()==ItemEvent.SELECTED){
					valsexo="masculino";
					JOptionPane.showMessageDialog(aplicacao1a.this, "Você selecionou a opção "+valsexo);
					
				}
			}
			if(e.getSource()==feminino){
				if(e.getStateChange()==ItemEvent.SELECTED){
					valsexo="feminino";
					JOptionPane.showMessageDialog(aplicacao1a.this, "Você selecionou a opção "+valsexo);
					
				}
			}
			
		}
	}
	private class TipodeCartao implements ItemListener{
		private String valtipo1="";
		private String valtipo2="";
		
		public void itemStateChange(ItemEvent e){
			if(e.getSource()==VS){
				if(e.getStateChange()==ItemEvent.SELECTED){
					valtipo1="Visa";
				}
			}
			if(e.getSource()==CD){
				if(e.getStateChange()==ItemEvent.SELECTED){
					valtipo1="Credicard";
				}
			}
		}
	
	
	}
	public static void main(String args[]){
		aplicacao1a().setVisible(true);
		
	}

}

4 Respostas

T

Cuidado com a sua fome - é “itemStateChanged” ou “itemStateChange”? Hein? Não coma letras.

rrp1989

tem razão parceiro

mas continua dando erro no inicializador

ele diz que o método aplicacao1a() continua indefinido

e os dois valores abaixo de tipo de cartão

String valtipo1 e 2 estão sublinhados em amarelo como se não tivessem sido utilizados

B

rrp1989:
tem razão parceiro

mas continua dando erro no inicializador

ele diz que o método aplicacao1a() continua indefinido

e os dois valores abaixo de tipo de cartão

String valtipo1 e 2 estão sublinhados em amarelo como se não tivessem sido utilizados

Cara,
Tente seguir essas dicas:
Primeiramente, a classe tem que ser instanciada.
Segundo, tente tirar o private de valtipo 1 e 2 que não aparecerão mais sublinhados.

Fiz isso e apareceu uma tela.

:thumbup:

rrp1989

putz era isso mesmo

valeu ai pela ajuda

funcionou \o/

:lol:

Criado 29 de maio de 2008
Ultima resposta 29 de mai. de 2008
Respostas 4
Participantes 3