Acontece que quando eu digito um item no jTDescrição (jTextField) e clico em Adicionar no JButton, ele insere no jListCursosOfer. blz, mas quando adiciono um outro item, ele não joga embaixo ,ele sobrepõe no ultimo item que escrevi.
vcs podem dar uma força e resolver este problema??
Abrçs!!!
public void adicionaCurso(){
DefaultListModel listmodel = new DefaultListModel(); //Aqui vc cria um model novo, e vazio
JList lista = new JList(listmodel); //Aqui vc inutilmente cria um JList associado a esse model.
listmodel.addElement(jTDescrição.getText()); //Aqui vc adiciona um único elemento ao model vazio
jListCursosOfer.setModel(listmodel); //Aqui vc troca o model da list offer pelo model com esse único elemento
}
E o que você deveria ter feito:
public void adicionaCurso(){
DefaultListModel listmodel = (DefaultListModel)jListCursosOfer.getModel(); //Aqui vc pega o model que já está associado a jListCursosOfer
listmodel.addElement(jTDescrição.getText()); //Aqui vc adiciona um elemento a esse model
}
That’s it.
douglasca86
Blz ViniGodoy, obrigado por sua atenção, pois é fiz o procedimento que vc escreveu , só que dá o seguinte exceção:
Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: javax.swing.JList$3 cannot be cast to javax.swing.DefaultListModel
douglasca86
Consegui…
Além de inserir ele verifica se já existe curso cadastrado.
//Método para Adicionar CursopublicvoidadicionaCurso(){Stringcursos=(String)jTDescrição.getText();// O usuário não digitar um nome original ...if(cursos.equals("")||alreadyInList(cursos)){//Toolkit.getDefaultToolkit().beep(); - Dispara um beep de alerta padrão do WindowsJOptionPane.showMessageDialog(null,"Curso já Cadastrado","Informação",JOptionPane.INFORMATION_MESSAGE);jTDescrição.requestFocus();jTDescrição.selectAll();return;}intindex=jListCursosOfer.getSelectedIndex();// obtém índice selecionadoif(index==-1){// nenhuma seleção, insira então no inícioindex=0;}else{// adiciona depois do item selecionadoindex++;}modelo.insertElementAt(cursos,index);jListCursosOfer.setModel(modelo);// Se a gente só queria acrescentar ao final, nós faríamos o seguinte://modelo.addElement(jTDescrição.getText());// Limpa o campo de texto.jTDescrição.requestFocus();jTDescrição.setText("");// Selecione o novo item e torná-lo visível.jListCursosOfer.setSelectedIndex(index);jListCursosOfer.ensureIndexIsVisible(index);}
Aqui o método de verificação se existe algo na lista cadastrado.
//Método que verifica se já tem algum item existente na listaprotectedbooleanalreadyInList(Stringcursos){returnmodelo.contains(cursos);}
Taí o Código caso alguém esteja passando o mesmo problema!!!