Utilizar filtro de listagem com 2 comboBox

0 respostas
javafxjava
G

Olá, sou iniciante no GUJ e iniciante na programação, estou fazendo um pequeno sistema de Quiz para crianças que poderá ser aplicado em escolas,onde na tela inicial tem 2 ComboBox um para listar as turmas e outro para listar os usuários. O que eu preciso fazer : Ao selecionar uma turma no ComboBox da turma, que aparecesse no ComboBox Usuários somente os usuários que estão cadastrado naquela turma selecionada no ComboBox. Estou utilizando banco de dados (SQLITE) e aplicação com JAVAFX, porém não estou conseguindo fazer essa listagem, alguém poderia me ajudar ? Segue os códigos.

Esses dois métodos tem na minha classe UsuarioDAO

public ArrayList listarTodasTurmas() {

ArrayList turmas = new ArrayList();

String sql = Select turma from usuarios where id <> 3 order by login;

try {

PreparedStatement ps = Constants.conn.prepareStatement(sql);

ResultSet rs = ps.executeQuery();

while (rs.next()) {

turmas.add(rs.getString(turma));

}

} catch (Exception e) {

e.printStackTrace();

}

return turmas;

}
public ArrayList<Usuario> filtrar() {
	ArrayList<Usuario> lista = new ArrayList<Usuario>();
	ArrayList<String> turmas = new ArrayList<String>();
	turmas = listarTodasTurmas();
	Usuario u = new Usuario();
	String sql = "Select login from usuarios where turma like ? order by login";
	try {
		PreparedStatement ps = Constants.conn.prepareStatement(sql);
		ps.setString(1, turmas+"%");
		ResultSet rs = ps.executeQuery();
		while (rs.next()) {
			u.setLogin(rs.getString("login"));
			lista.add(u);
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
	return lista;

}

Com o código acima, eu consigo selecionar uma turma, porém no ComboBox usuário não aparece nada, alguém pode me ajudar?
Esse é a minha tabela do bancobanco

Criado 15 de junho de 2019
Respostas 0
Participantes 1