JList

6 respostas
B

Alguem me ajuda?
Tenho um JList no meu form, sei que com getSelectedValue ele me retorna o item selecionado da lista, mas minha jlist aceita selecao multipla, entao precisava saber como capturo os itens selecionados da minha jlist? e tambem como vou grava-los no banco? vou ter uma tabela no banco e ex:
na jlist selecionei : Amarelo , Azul e Preto, na tabela ele vai estar assim: “Amarelo”, “Azul”, “Preto” ? sao 2 duvidas e agradeco a atencao de todos!

6 Respostas

ViniGodoy

Use o método no plural:
getSelectedValues() ou getSelectedIndices().

Uma rápida olhada no javadoc já teria respondido essa sua pergunta.

No banco, use uma tabela de junção.

B

Uso o Mysql o q e uma tabela de juncao?

e para mim fazer um crud de um jlist com selecao multipla! eu precisaria inserir o que no bean? o getSelectedValues ou Indices?

RobsonFagundes

Tente usar o event listSelection
dentro dele vc pode fazer algo assim

private void jlValueChanged(javax.swing.event.ListSelectionEvent evt) {                                      
        if (jlContas.getSelectedIndex() > -1) {
            if (!evt.getValueIsAdjusting()) {
               jl.getSelectedIndex();
                
            }
        } else {
          ....
        }
        listar();
    }

T+

B

Amigo obrigado por sua atencao mas eu gostaria de inserir os dados listados do jlist(no caso sao 2 itens selecionado no jlist) como capturo o dado para poder inserir no banco!

lina

Oi,

Poderá ser feito assim:

public class JanelaPrincipal extends JFrame
{	
	public JList list;
	public DefaultListModel modelo = new DefaultListModel();
	public JButton button;
	public String[] itens;
	
	public JanelaPrincipal() 
	{
		setSize(500,500);
		setTitle("Teste");
		setLayout(null);
		modelo.addElement("Teste");
		modelo.addElement("Teste2");
		modelo.addElement("Teste3");
		list = new JList(modelo);
		list.setBounds(10,10,100,50);
		getContentPane().add(list);
		
		button = new JButton();
		button.setBounds(10,70,100,25);
		button.setText("Itens");
		button.addActionListener
		(
			new ActionListener()
			{
				public void actionPerformed(ActionEvent e)
				{
					itens = new String[list.getSelectedValues().length];
					for (int ln = 0; ln < list.getSelectedValues().length; ln++)
					{
						itens[ln] = list.getSelectedValues()[ln].toString();
						System.out.println(itens[ln]);
					}
				}
			}
		);
		
		getContentPane().add(button);
	}
	
	public static void main(String agrs[])
	{
		new JanelaPrincipal().setVisible(true);
	}
}

Tchauzin!

B

mato minha duvida obrigada!

Criado 27 de outubro de 2009
Ultima resposta 28 de out. de 2009
Respostas 6
Participantes 4