Ajuda para setar valores de um combo box em um metodo

Não entendi esse getId_departamento();. Vc não quer passar o parametro pra o PreparedStatement?

isso eu fiz na tela de cadastro

simm eu queria passar o parametro getId_departamento
para setar no insert

Então o exemplo que passei ali em cima deve ajudar

1 curtida

opa mano eu pensando
consegui fazer isso:

    cbDepart.setOnAction((ActionEvent event) -> {
        Departamento d = new Departamento();
        d.setId_departamento(cbDepart.getSelectionModel().getSelectedItem().getId_departamento());  
   });

assim eu poderia utilizar o d como parametro
mas eu estou com um problema eu não irei poder acessar o d dentro do meu metodo para criar o enviar os parametros.

Cara:

Departamento mod = new Departamento();

Object selected = cbDepart.getSelectionModel().getSelectedItem();
int i = (int) selected;
mod.setId_departamento(i);

Depois, na hora de setar no banco, é só fazer isso:

pst.setInt(mod.getId_departamento());

1 curtida

tentei assim porem deu error:

public void initialize(URL url, ResourceBundle rb) {
depart();
cbDepart.setOnAction((ActionEvent event) -> {
Object selected = cbDepart.getSelectionModel().getSelectedItem().getId_departamento();
int i = (int) selected;
departamento.setId_departamento(i);
System.out.println(""+departamento.getId_departamento());

   });
private Departamento departamento;

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException

tenta assim

nomedacombobox.setModel(new DefaultComboBoxModel(departamentos.toArray()))

ai pra pegar o item selecionado

departamento =(Departamento)nomedacombobox.getSelectedItem()

eu tentei assim e não tem essa classe setmodel
cbDepart.setModel(new DefaultComboBoxModel(departamentos.toArray()));

Como eu conseguiria popular meu combo box com essa consulta que fiz no meu DAO
?

public class DepartamentoDAO {

    private Connection con;

    public DepartamentoDAO() {
        this.con = new ConnectionFactory().getConnection();
    }

    public boolean popularComboBox() throws SQLException{
        List<String> setores = new ArrayList<String>();
        String query = "SELECT * FROM departamentos";
        PreparedStatement ps = con.prepareStatement(query);
        ResultSet rs = ps.executeQuery();
        while(rs.next()){
           setores.add(rs.getString("nome_setor"));
           }

    ps.close();
    return true;
    }
}

teria como popular?

@FXML
private JFXComboBox cbDepart;
ss

    public List<Departamento> listar() {
List<Departamento> departamentos = new ArrayList();
        try {
            psmt = connect.prepareStatement("SELECT id, nome from departameto", PreparedStatement.RETURN_GENERATED_KEYS);
            rs = psmt.executeQuery();
            while (rs.next()) {
                Departamento d = new Departamento();
                d.setId(rs.getInt("id"));
                d.setNome(rs.getString("nome"));
                departamentos.add(d);
            }
            return departamentos;
        } catch (SQLException e) {
            System.out.println(e.getMessage());
        return null;
        }
}

não consegui editar o post de cima, e não entende de JFx

1 curtida
public void test(){
    Departamento departamento = (Departamento) cbDepart.getSelectionModel().getSelectedItem();
    JOptionPane.showMessageDialog(null,"ID: "+departamento.getId_departamento()+"nome"+departamento.getNome_setor());
    JOptionPane.showMessageDialog(null,"ID: "+departamento.getId_departamento()+"nome"+departamento.getNome_setor());
    JOptionPane.showMessageDialog(null,"ID: "+departamento.getId_departamento()+"nome"+departamento.getNome_setor());
}

vlw manos, consegui resolver…