Olá comunidade GUJ, me cadastrei aqui esses dias e venho acompanhando a participação e apoio de todos com quem tem dificuldades. Acho muito bacana, quero participar cada vez mais e espero em breve poder estar contribuindo ativamente.
Pra começar, tenho um pequeno problema, que mesmo pesquisando tenho encontrado dificuldades para resolver… Estou implementando um filtro de pesquisa onde os campos são recebidos e lançados em um JList.
Até ai tudo bem… Porém tenho que, ao selecionar um item deste JList, intanciar um JPanel (na mesma tela) para inserir os campos relacionados à pesquisa. Como faço? Alguma idéia ou sugestão?
vc quer que o JPanel seja instanciado quando o usario clica JList?
se for voce pode tentar fazer o seguinte, criar um Listener para quando o usuario clicar na sua JList:
suaList.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
// Codigo para Instanciar JPanel
}
});
Se não foi isso que vc perguntou eh só dizer
L
liberali
Olá!! É muito bom ver gente disposta a ajudar, muito obrigado mesmo!
Bem… na verdade, cada item da JList vai instanciar um JPanel, seja selecionado por mouse ou por teclado… Sendo que o primeiro item da JList já é selecionado automaticamente.
Cada item deve instanciar apenas um JPanel e das JPanels instanciadas apenas deve ficar visivel a que for respectiva ao item da JList selecionado.
OBS: ja ajustei a propriedade da JList para que apenas um item seja selecionado por vez.
Alguma idéia?
lina
Oi,
não entendi bem o que você quer dizer…
para cada JListe você ira instanciar um JPanel diferente?
ou para cada JLista o painel será o mesmo?
Você que que, ao selecionar um item da lista e clica-lo para abrir o JPanel, só mostrar o item selecionado, apagando os outros?
Tchauzin!
L
liberali
Oi Lina!
Entao… cada item existente no Jlist deve instanciar um JPanel diferente. Sendo assim, quando um item for selecionado, o JPanel referente a ele ira aparecer p/ o usuario entrar com as informações.
As instancias existentes nao devem ser apagadas, pois deverei pegar informação de todas que tiverem alguma coisa preenchida.
To apanhando bastante pra fazer isso! Espero que possa me dar um help!
Valeu
thiagosil
vc pode tentar fazer o seguinte
isso vai dentro do listener
int x =suaList.getSelectedIndex();
switch(x){
case 0: //Instacia JPanel referente a 1 linha
case 1: //Instacia JPanel referente a 2 linha
case 2:
default: //Instacia JPanel referente a 1 linha
Não entendi muito bem a coisa das instancias
Quando vc verifica oque foi preenchido e como vc esta fazendo isso?
L
liberali
Thiagosil e Lina, muito obrigado pela atenção e apoio.
Depois de muito ralar e pesquisar consegui resolver meu problema, criei o metodo:
Este método é invocado no inicio do programa e a cada evento de clique de mouse ou key_up/key_down apresentando o panel respectivo ao item selecionado. Optei por instanciar todos os panels no model durante a inicialização e assim somente os apresento no evento.
Este parametro posição representa a posição do item no JList.
Novamente muito obrigado, qualquer coisa podem contar comigo!