Boa noite pessoal, estou desenvolvendo uma aplicação, nela uma tela de cadastro de equipamento, onde tenho dois combobox, o combobox nome e o combobox data, ja fiz o preenchimento dos combobox individualmente
ao selecionar um “nome” no combobox nome, o proximo combobox data, deveria trazer o valor da data respectiva ao nome
ao selecionar um nome no combobox, no combobox data seria trazido a coluna data de seu nome correspondente
vou abreviar parte do codigo fonte pois o codigo esta muito extenso
PROJETO NO GITHUB:
exemplo no banco:
CADASTROEQUIPAMENTOCONTROLLER.JAVA:
public void atualizaNome()
{
try
{
//buscar login nome do banco de dados
//cria objeto do tipo connection conexao passando novo Conexao(conexao.java) chamando metodo conectar
Connection conexao = new Conexao().Conectar();
//cria objeto do tipo LoginDAO chamado logindao passando novo LoginDAO recebendo conexao
LoginDAO logindao = new LoginDAO(conexao);
//cria arraylist de Login chamado logins passando o objeto logindao do tipo Login chamando o metodo selecione all login
ArrayList<Login> logins = logindao.selecioneAllLogin();
//exibir login nome no combobox nome
helper.preencherNome(logins);
}
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null,"Error a preencher combobox nome:" +ex);
}
}
public void atualizarData()
{
try
{
//buscar login nome do banco de dados
//cria objeto do tipo connection conexao passando novo Conexao(conexao.java) chamando metodo conectar
Connection conexao = new Conexao().Conectar();
//cria objeto do tipo LoginDAO chamado logindao passando novo LoginDAO recebendo conexao
LoginDAO logindao = new LoginDAO(conexao);
//cria arraylist de Login chamado logins passando o objeto logindao do tipo Login chamando o metodo selecione all login
ArrayList<Login> logins = logindao.selecioneAllLogin();
//exibir login nome no combobox nome
helper.preencherData(logins);
}
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null,"Error a preencher combobox data:" +ex);
}
}
CADASTROEQUIPAMENTOHELPER.JAVA:
public void preencherNome(ArrayList<Login> logins)
{
DefaultComboBoxModel combomodel = (DefaultComboBoxModel) view.getTxtComboNome().getModel();
for(Login login : logins)
{
combomodel.addElement(login.nomeToString());
}
}
public void preencherData(ArrayList<Login> logins)
{
DefaultComboBoxModel combomodel = (DefaultComboBoxModel) view.getTxtComboData().getModel();
for(Login login : logins)
{
combomodel.addElement(login.DatatoString());
}
}
LOGINDAO.JAVA:
//metodo para trazer todos logins do banco de dados
public ArrayList<Login> selecioneAllLogin() throws SQLException {
ArrayList logins = new ArrayList();
//Faz a instância da classe Login
String sql = "select * from login";
//Instrução SQL para seleção de registro específico da tabela login;
try {
PreparedStatement pstm = conexao.prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
while(rs.next()){
Login login = new Login();
//Laço de repetição para preencher com os dados do banco o objeto Login;
login.setId(rs.getInt("id"));
login.setUsuario(rs.getString("usuario"));
login.setSenha(rs.getString("senha"));
login.setNome(rs.getString("nome"));
login.setEmail(rs.getString("email"));
login.setTipo(rs.getString("tipo"));
login.setData(rs.getTimestamp("data"));
//"seta" os atributos da classe Login com os dados dos campos do banco - pega os dados do banco para pesquisa no formulário;
logins.add(login);
}
} catch (SQLException ex)
{
JOptionPane.showMessageDialog(null, "Error ao pesquisar todos logins no banco de dados!" +ex);
}
finally
{
//feche a conexao
conexao.close();
}
//retorne o array logins
return logins;
}
LOGIN.JAVA:
public String nomeToString()
{
return getNome();
}
public String DatatoString()
{
return getData().toString();
}