Problemas com for

Veja meu problema o que estou tendo abaixo esta meu codigo, ele entra em fonte em uma ação de uma JComboBox, na minha combobox tenho 5 itens e quero que ao clicar em cada um deles ele pinte conforme o codigo, ai matutei algumas logicas e resolvi i na luta mas estou tendo um problema quando eu seleciono um item do meu combobox ele pinta apenas o “G”, se eu selecionar o de baixo o “H” ele pinta o “G” tambem o que estou fazendo de errado sou iniciante amador fraldinha ainda ;/ vlw pessoal.

else if (fonte == w){
                           String w [] = {"G,"H","U","T","Y"};
                           for(int i=0; i<=4; i++){
                                if(w[i].equals("G")){
                                    System.out.println("G");
                                    break;
                                }
                                else if(w[i].equals("H")){
                                    System.out.println("H");
                                    break;
                                }
                                else if(w[i].equals("U")){
                                    System.out.println("U");
                                    break;
                                }
                                else if(w[i].equals("T")){
                                    System.out.println("T");
                                    break;
                                }
                                else if(w[i].equals("Y")){
                                    System.out.println("Y");
                                    break;
                                }
                            }
                      }
                 }

e minha JComboBox esta assim

String w [] = {"G","H","U","T","Y"};
	gbc.weightx = 0;
	add(new JLabel("WWW:"),gbc,0,3,1 ,1);
	gbc.weightx = 100;
	w = new JComboBox(w);
                w.addActionListener(this);
                add(w,gbc,1,3,1,1);

cara… eu vi que no teu vetor de Strings w recebendo assim:

String w [] = {"G,"H","U","T","Y"};   

tah faltando fechar a aspa do “G”

mas acredito que nao seja isso…

pode ser o seguinte

em vez de if…else if… else if…

põe somente if ficaria assim:

if(w[i].equals("G")){ System.out.println("G"); break; } if(w[i].equals("H")){ System.out.println("H"); break; } if(w[i].equals("U")){ System.out.println("U"); break; } if(w[i].equals("T")){ System.out.println("T"); break; } if(w[i].equals("Y")){ System.out.println("Y"); break; }

tente isso :wink:

fis do jeitinho que falo e continua assim, posso selecionar qualquer item do meu JComboBox que ele ta pintando “G” o que sera ;/ to a dias nisso mas ta muito ocmplicado!

alguem me ajuda plz

Os objetos ‘fonte’ e ‘w’ são tipos primitivos? Se não, use o equals() para comparar. E pense bem na lógica: se o valor for igual a tal, imprimo o valor tal. Não seria mais fácil imprimir o valor diretamente? Algo como:

String w [] = {"G","H","U","T","Y"};
for(int i=0; i<=4; i++) {
    System.out.println(w[i]);
}

Pronto! if’s e else’s eliminados.

Entao eu fis isso porém quando seleciono o item do jcombobox para efetuar a ação e ele dar o system.out.println, ele continua retornando tudo que tem em {“G”,“H”, etc} e nao apenas a linha selecionado do combobox! como eu disse… quando eu crio o meu botao coloco um vetor la tambem para preencher as linhas n seria esse o problema de estar retornando tudo?

String w [] = {"G","H","U","T","Y"};   
    gbc.weightx = 0;   
    add(new JLabel("WWW:"),gbc,0,3,1 ,1);   
    gbc.weightx = 100;   
    w = new JComboBox(w);   
                w.addActionListener(this);   
                add(w,gbc,1,3,1,1);  

Que tal:

String[] valores = {"G", "H", "U", "T", "Y"};
comboBoxValores = new JComboBox(valores):
comboBoxValores.addActionListener(this);
// e faz o resto
// ...
// no método actionPerformed:
public void actionPerformed(ActionEvent e) {
    if (e.getSource() == comboBoxValores) {
        System.out.println(comboBoxValores.getSelectedItem());
    }
}

Potz problema resolvido era isso mesmo vlw marco e a todos que ajudaram.