BOM DIA!
estou fazendo o projeto final da facul...
e nao consigo fazer essa parte funcionar..se alguem pode ajudar agradeço...
a intenção era criar cadastrar as materias que o professor pode lecionar...
sendo que a primeira jlist monstra as materias que estao no banco e quando se seleciona um clica no jbuton um evento retira da primeira jlist e add na de ematerias selecionadas..
mais so funciona na primeira seleção , qd tento selecionar mais de uma , nao vai...
PRIVATE void jbtndeselecionaDisciplinaActionPerformed(java.awt.event.ActionEvent evt) {
int id=disciplinas.get(jListMaterias.getSelectedIndex()).getIdDisciplinas();
if(disciplinasSelecionadas.isEmpty()){
this.disciplinasSelecionadas=controler.carregaDisciplinasSelecionadas1Jlist
(jListMateriasSelecionadas,jListMaterias,id);
}else{
this.disciplinasSelecionadas=controler.carregaDisciplinasSelecionadasJlist
(jListMateriasSelecionadas,jListMaterias,id);
}
public void setControler(DisciplinasControle dcv) {
this.controler = dcv;
this.disciplinas = dcv.carregaDisciplinasJlist(jListMaterias);
}
public List<Disciplina> carregaDisciplinasSelecionadas1Jlist(JList listDisciplinasSelecionadas,
JList listDisciplinas, int id) {
ListModel JlistModel = listDisciplinasSelecionadas.getModel();
ListModel jListModel2= listDisciplinas.getModel();
DisciplinaPersist dp = new DisciplinaPersist(conexao);
ArrayList<Disciplina> disciplinasNomeArraySelecionas = dp.getNomeDisciplina();
List nomes = new ArrayList();
List nomeRemove=new ArrayList();
for (Disciplina disciplina : disciplinasNomeArraySelecionas) {
if(disciplina.getIdDisciplinas()==id){
nomes.add(disciplina.getNome());
}
else{
nomeRemove.add(disciplina.getNome());
}
}
disciplinasNomeArraySelecionas.clear();
disciplinasNomeArraySelecionas.addAll(nomes);
listDisciplinasSelecionadas.setListData(nomes.toArray());
listDisciplinas.setListData(nomeRemove.toArray());
return disciplinasNomeArraySelecionas;
}
public List<Disciplina> carregaDisciplinasSelecionadasJlist(JList listDisciplinasSelecionadas
,JList listDisciplina,int id) {
ListModel JlistModel = listDisciplinasSelecionadas.getModel();
ListModel JlistModel2 = listDisciplina.getModel();
List exist=new ArrayList<Disciplina>();
List selecionada=new ArrayList<Disciplina>();
// exist.add(listDisciplina.getSelectedValuesList());
for(int i =0;i<=listDisciplina.countComponents();i++){
exist.add(listDisciplina.getComponent(i));
}
for(int i =0;i<=listDisciplinasSelecionadas.countComponents();i++){
selecionada.add(listDisciplinasSelecionadas.getComponent(i));
}
DisciplinaPersist dp = new DisciplinaPersist(conexao);
ArrayList<Disciplina> disciplinasNomeArraySelecionas = dp.getNomeDisciplina();
disciplinasNomeArraySelecionas.remove(selecionada);
List nomes = new ArrayList();
List nomeRemove=new ArrayList();
for (Disciplina disciplina : disciplinasNomeArraySelecionas) {
if(disciplina.getIdDisciplinas()==id){
nomes.add(disciplina.getNome());
}
}
nomes.addAll(selecionada);
nomeRemove.removeAll(nomes);
listDisciplinasSelecionadas.setListData(nomes.toArray());
listDisciplina.setListData(nomeRemove.toArray());
return nomes;
}
public ArrayList <Disciplina> getNomeDisciplina(){
ArrayList <Disciplina> disciplinas = new ArrayList<Disciplina>();
try{
Statement st = conexao.createStatement();
String sql = "select * from ProjetoFinal.dbo.Disciplinas";
ResultSet rs = st.executeQuery(sql);
while( rs.next() ){
Disciplina disciplina = new Disciplina (
rs.getInt("IdDisciplinas"),
rs.getString("Nome"),
rs.getInt("CargaHoraria"),
rs.getString("Ementa")
);
disciplinas.add(disciplina);
}
} catch (Exception e){
}
return disciplinas;
}