Atualização de Labels

5 respostas
J

estou fazendo um programa q o usuario faz uma escolha em um comboBox e imediatamente o label será atualizado. o programa esta rodando certinho (não dão erro) mas qd eu faço a escolha os labels não atualizão não sei porque.

vou mandar a parte de codigo q teria q efetuar a a tualização dos labels e se alguem puder me ajudar ficaria agradecida

Nesta parte tenho q escolher a cidade e dependendo da cidade escolhida o label será atualizado de acordo c/ a opção escolhida. ( é a chamada do metodo UpdateLabel)

JPanel painel2 = new JPanel();
		painel2.setLayout(new GridLayout(2,1));
		painel2.add(new JLabel("*Cidade:", SwingConstants.LEFT));
		cid = new JComboBox();
		String[] cidades = { " ", "1 - Santos", "2 - São Vicente", "3 - Guarujá", "4 - Vicente de Carvalho", "5 - Praia Grande", "6 - Cubatão", " 7 - Mongaguá", "8 - Bertioga"};//seleciona as cidades que podem estar no roteiro.
		cid = new JComboBox(cidades);
		cid.setSelectedItem(" ");
		texto1 = new JLabel();
        updateLabel1(cidades[cid.getSelectedIndex()]);// Chama o metodo para atualizar o label Tempo de Movimenteção.
		painel2.add(cid);

e aqui é a implementação do medoto atualiza label

protected void updateLabel1(String name) {
		if (cid.getSelectedItem().equals("Santos")){
			texto1.setText("1:00");
		}
		else if (cid.getSelectedItem().equals("São Vicente")){
			texto1.setText("1:00");
		} 
		else if (cid.getSelectedItem().equals("Guarujá")){
			texto1.setText("1:00");
		}
		else if (cid.getSelectedItem().equals("Vicente de Carvalho")){
			texto1.setText("2:00");
		}
		else if (cid.getSelectedItem().equals("Praia Grande")){
			texto1.setText("2:00");
		}
		else if (cid.getSelectedItem().equals("Cubatão")){
			texto1.setText("1:00");
		}
		else if (cid.getSelectedItem().equals("Mongaguá")){
			texto1.setText("3:00");
		}
		else if (cid.getSelectedItem().equals("Bertioga")){
			texto1.setText("3:00");
		}
    }

PS: JLabel texto1;

  1. :!: :? :hunf: :expressionless: :cry:

5 Respostas

R

Olha jaque, o método equals serve para Strings cid.selectedItem() é do tipo JComboBox. Tente usar == ao invés de equals();

J

eu mudei mas continuou do msm jeito.
a atualização não esta conseguindo ser feita.
e eu utilizei i .equals() em varios outro programas c/ getSelectedItem e num deu erro nenhum.

dicabeca
olha so tem muita coisa q vc esqueceu de implementar,como adicionar o texto1 no painel ,eu dei uma alterada aki e nao usei a sua funcao,mais ai vc implementa do jeito q vc quizer!!!
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

/**
 *
 * @author DiogoOliveira
 */
public class JLabelVolatio extends JFrame {
    public JComboBox cid;
    public JLabel texto1;
    
    /** Creates a new instance of JLabelVolatio */
    public static void main(String args[])
    {
       JLabelVolatio j = new JLabelVolatio();
       j.setVisible(true);
       j.setSize(500,500);
    }
    
    public JLabelVolatio() 
    {
     JPanel painel2 = new JPanel(new BorderLayout());
 		
                painel2.setLayout(null);
 		painel2.add(new JLabel("*Cidade:", SwingConstants.LEFT));
 		 cid = new JComboBox();
 		String[] cidades = { " ", "1 - Santos", "2 - São Vicente", "3 - Guarujá", "4 - Vicente de Carvalho", "5 - Praia Grande", "6 - Cubatão", " 7 - Mongaguá", "8 - Bertioga"};//seleciona as cidades que podem estar no roteiro.
 		cid = new JComboBox(cidades);
 		
 		texto1 = new JLabel();
                painel2.add(texto1); 
 		painel2.add(cid);
                
                texto1.setBounds(30,50,100,20);
                cid.setBounds(150,50,100,20);
                
                add(painel2);
                
                  cid.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) 
                    {
                        texto1.setText(String.valueOf(cid.getSelectedItem()));
                    }
                });
                   
                
    }
    
   

    
}
dicabeca

e outra coisa tu tem q fzr assim

if(String.valueOf(cid.getSelectedItem()).equals("1 - Santos"))
J

Obrigada dicabeca funcionou.
bastou arrumar só isso:

if(String.valueOf(cid.getSelectedItem()).equals("1 - Santos"))
Criado 17 de agosto de 2007
Ultima resposta 20 de ago. de 2007
Respostas 5
Participantes 3