Как отобразить текстовое поле при выборе элемента в выпадающем списке, который получает значение из базы данных

#javafx

#javafx

Вопрос:

 @FXML
void tampilComboMilik(MouseEvent event) {
    String tmp = (String) cmb_milik.getSelectionModel().getSelectedItem();
    String select_qry = "SELECT * FROM tbl_kepemilikan WHERE nama =?";
    try {

        pst = conn.prepareStatement(select_qry);
        pst.setString(1, tmp);
        rs = pst.executeQuery();

            while(rs.next()){
            String add1 = rs.getString("id_milik");
            txt_warna.setText(add1);

            }

        rs.close();
        pst.close();            
    }catch(Exception e){
        System.out.println(e);
    }
}
  

Ответ №1:

Вы можете создать текстовое поле в классе fxml и установить для Visible значение False в методе initialize

Нравится

 @FXML
private String txt_warna;

@Override
    public void initialize(URL url, ResourceBundle rb) {
        txt_warna.setVisible(false); 
}
  

Теперь, когда вы нажимаете на этот метод и получаете значение, сделайте его видимым, как

 @FXML 
    void tampilComboMilik(MouseEvent event) {
    String tmp = (String) cmb_milik.getSelectionModel().getSelectedItem(); 
    String select_qry = "SELECT * FROM tbl_kepemilikan WHERE nama =?"; 
    try {
          pst = conn.prepareStatement(select_qry);
            pst.setString(1, tmp);
            rs = pst.executeQuery();

                while(rs.next()){
                String add1 = rs.getString("id_milik");
                txt_warna.setText(add1);
                txt_warna.setVisible(true);

                }

            rs.close();
            pst.close();            
        }catch(Exception e){
            System.out.println(e);
        }
    }