Sincronizar Vetores em uma JList

3 respostas
D
Boa noite amigos. Estou tentando resolver um código onde, numa JList, eu informe a sigla dos estados, e em uma JTextField, eu mostre a sigla juntamente com o nome do estado selecionado. Estou utilizando 2 vetores, em vez de colocar vários if's para exibir o nome referente à sigla. O problema é que não estou conseguindo pensar em algo que vá sincronizar os dois vetores, ou seja, a posição do primeiro vetor será igual à posição do segundo vetor, mostrando o a sigla + nome do estado no JTextField. Alguém consegue me ajudar?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;


public class Ex15 extends JFrame 
        implements ListSelectionListener, ActionListener
{
        JLabel rotulo1, rotulo2;
        JTextField texto;
        JList listaSelecao;
        DefaultListModel opcoesdaLista;

        String siglas[] ={"AC","AL","AP","AM","BA","CE","DF","ES","GO","MA","MT","MS","MG","PA","PB","PR","PE","PI","RJ","RN","RS",
        "RO","RR","SC","SP","SE","TO"};
        String siglas2[]={"AC - Acre","AL - Alagoas","AP -Amapá","AM - Amazonas","BA - Bahia","CE - Ceará","DF - Distrito Federal",
            "ES - Espírito Santo","GO - Goiás","MA - Maranhão","MS - Mato Grosso do Sul","MG - Minas Gerais","PA - Pará",
            "PR - Paraná","PE - Pernambuco","PI - Piauí","RJ - Rio de Janeiro","RN - Rio Grande do Norte","RS - Rio Grande do Sul",
        "RO - Rondônia","RR - Roraima","SC - Santa Catarina","SP - São Paulo","SE - Sergipe","TO - Tocantins"};
        
       public static void main(String args[])
    {
                JFrame GUI = new Ex15();
       
               GUI.setVisible(true);
        
                GUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
    } 
    Ex15()
    {
        
        setLocation(250,150);
             
        setTitle("Quarto Exercício");
              
        setSize(350,200);

                texto = new JTextField();

                rotulo1 = new JLabel("Selecione o Estado:");
        
        rotulo1.setForeground(Color.black);

        
        rotulo2 = new JLabel("O nome do estado é:");
    
        rotulo2.setForeground(Color.black);    
  
            
        opcoesdaLista = new DefaultListModel();
       
        listaSelecao = new JList(siglas);
         
        listaSelecao.addListSelectionListener(this);
      
        listaSelecao.setSelectionMode(0);
        
        listaSelecao.setVisibleRowCount(2);
      
        JScrollPane painel = new JScrollPane(listaSelecao);
        
               setLayout(new GridLayout(2,2));
        
   
        add(rotulo1);
        add(rotulo2);
        add(painel);
        add(texto);
               
    } 

  
    public void actionPerformed(ActionEvent evento)
    {
       // if (evento.getSource()==listaSelecao)
       
    }
    public void valueChanged(ListSelectionEvent evento)
    {
       if(evento.getSource()==listaSelecao)
           
           texto.setText(""+ listaSelecao.getSelectedValue());

    } 
}

3 Respostas

pmlm

ISso não é a mesma dúvida que tiveste aqui?

D

Mais ou menos…Eu não poderei usar if’s, e nesse tópico ninguém conseguiu me ajudar. Procurei bastante na net e não estou conseguindo achar como sincronizar a posição dos dois vetores.

pmlm

A minha resposta não ajuda? Tens duas soluções diferentes sem if …

Criado 9 de abril de 2014
Ultima resposta 10 de abr. de 2014
Respostas 3
Participantes 2