Tenho esse seguinte método:
método teste da classe locacoes do pacote view
public int teste(){
String selecao = cbFilmes.getSelectedItem().toString();
String[] campos_filmes = selecao.replace(" ","").split("-"); // suponho que esteja separado por -
System.out.println(campos_filmes[0]); // deve pegar o código
int codigo = Integer.parseInt(campos_filmes[0]);
java.sql.Connection conn = null;
java.sql.PreparedStatement pstm = null;
ResultSet rs = null;
boolean testee;
try{
conn = ConnectDB.conexaoDB();
pstm = conn.prepareStatement("Select * From locacoes Where codigo_filme = '"+codigo+"'");
rs = pstm.executeQuery();
if(rs.next()){
JOptionPane.showMessageDialog(null, "Filme Já Locado!");
tabbedPane.setSelectedIndex(0);
}else{
pstm.close();
}
ConnectDB.fecharConexao(conn);
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "Erro: "+ e);
}
return codigo;
}
Ele faz uma validação para ver se o filme já está locado, o seguinte método é o que manda os dados para classe locacoes do pacote control
protected void salvar(){
String selecao_filmes = cbFilmes.getSelectedItem().toString();
String[] campos_filmes = selecao_filmes.replace(" ","").split("-"); // suponho que esteja separado por -
System.out.println(campos_filmes[0]); // deve pegar o código
int codigo_filme = teste();//Integer.parseInt(campos_filmes[0]);
//System.out.println(selecao);
String selecao_funcionario = cbFuncionario.getSelectedItem().toString();
String[] campos_funcionarios = selecao_funcionario.replace(" ", "").split("-");
System.out.println(campos_funcionarios[0]);
int codigo_funcionario = Integer.parseInt(campos_funcionarios[0]);
String selecao_cliente = cbClientes.getSelectedItem().toString();
String [] campos_clientes = selecao_cliente.replace(" ", "").split("-");
System.out.println(campos_clientes[0]);
int codigo_cliente = Integer.parseInt(campos_clientes[0]);
String data_locacao = dt_locacao.getText();
String data_devolucao = dt_devolucao.getText(); if(data_devolucao.equals("")){
JOptionPane.showMessageDialog(null, "O campo Data de devolução é Obrigatório!");
} Locacao locacao = new Locacao();
locacao.setCodigo_cliente(codigo_cliente);
locacao.setCodigo_funcionario(codigo_funcionario);
locacao.setCodigo_filme(codigo_filme);
locacao.setDt_locacao(data_locacao);
locacao.setDt_devolucao(data_devolucao);
control.Locacao manutencao = new control.Locacao();
if(codigo_editar==0){
manutencao.inserir(locacao);
}else{
manutencao.alterar(locacao);
}
tabbedPane.setSelectedIndex(1);}
Esse é o método que salva no banco:
public void inserir(dao.Locacao locacao) {
if(locacao != null){
java.sql.Connection conn = null;
try {
conn = ConnectDB.conexaoDB();
java.sql.PreparedStatement pstm;
pstm = conn.prepareStatement(INSERT);
pstm.setObject(1, locacao.getCodigo_filme());
pstm.setObject(2, locacao.getCodigo_funcionario());
pstm.setObject(3, locacao.getCodigo_cliente());
pstm.setString(4, locacao.getDt_locacao());
pstm.setString(5, locacao.getDt_devolucao());
// Envia para o banco de dados
Boolean teste;
teste = pstm.execute();
// Validar inserção no banco de dados
if (!teste) {
JOptionPane.showMessageDialog(null, "Locação cadastrada com sucesso!");
} else {
JOptionPane.showMessageDialog(null, "Erro ao cadastrar a Locação!");
}
// Fecha a conexão com o banco de dados
ConnectDB.fecharConexao(conn);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Erro ao cadastrar a locacao!"+e.getMessage());
}
`
Esse é o método que salva no banco:
public void inserir(dao.Locacao locacao) {
if(locacao != null){
java.sql.Connection conn = null;
try {
conn = ConnectDB.conexaoDB();
java.sql.PreparedStatement pstm;
pstm = conn.prepareStatement(INSERT);
pstm.setObject(1, locacao.getCodigo_filme());
pstm.setObject(2, locacao.getCodigo_funcionario());
pstm.setObject(3, locacao.getCodigo_cliente());
pstm.setString(4, locacao.getDt_locacao());
pstm.setString(5, locacao.getDt_devolucao());
// Envia para o banco de dados
Boolean teste;
teste = pstm.execute();
// Validar inserção no banco de dados
if (!teste) {
JOptionPane.showMessageDialog(null, "Locação cadastrada com sucesso!");
} else {
JOptionPane.showMessageDialog(null, "Erro ao cadastrar a Locação!");
}
// Fecha a conexão com o banco de dados
ConnectDB.fecharConexao(conn);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Erro ao cadastrar a locacao!"+e.getMessage());
}
}}
A minha dúvida é a seguinte, como eu faria para usar o método teste, fazendo com que, se o filme estiver locado, ao clicar no botão de salvar, eu impedisse o usuário de salvar, através do método teste, se eu não fui muito claro, me peçam mais informações, mas por favor me ajudem!.
Esse é o botão salvar:
JButton btnSalvar = new JButton("Salvar");
btnSalvar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
salvar();}
});