首页 > 解决方案 > 如何在 Tableview 中加载 JavaFX 复选框数据?

问题描述

我想TableView在每列包含一个带有指定文本的复选框的地方创建一个Add方法。这是我的控制器类的代码:

public class Controller implements Initializable {
    @FXML
    private CheckBox checkFc, checkNc, 
                     checkMspd, checkDupl, 
                     checkGps, checkPw;

    @FXML
    private TableView<users> tableUsers;

    @FXML
    private TableColumn<users, String> colFc, colNc, 
                                       colDupl, colMspd, 
                                       colGps, colPw;

    ObservableList<users> listM;

    int index = -1;
    
    Connection conn = null;
    ResultSet rs = null;
    PreparedStatement pst = null;

    public void AddUsers() {
        conn = mysqlconnect.ConnectDb();
        String sql = "insert into users (fc, nc, dupl, mspd, gps, pw)Values(?,?,?,?,?,?)";
        
        try {
            pst = conn.prepareStatement(sql);
            pst.setString(4, checkFc.getText());
            pst.setString(5, checkNc.getText());
            pst.setString(6, checkDupl.getText());
            pst.setString(7, checkMspd.getText());
            pst.setString(8, checkGps.getText());
            pst.setString(9, checkPw.getText());
            pst.execute();

            JOptionPane.showMessageDialog(null, "addition was a success");
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

    @Override
    public void initialize(URL url, ResourceBundle rb) {
        colFc.setCellValueFactory(new PropertyValueFactory<users,String>("fc"));
        colNc.setCellValueFactory(new PropertyValueFactory<users,String>("nc"));
        colDupl.setCellValueFactory(new PropertyValueFactory<users,String>("dupl"));
        colMspd.setCellValueFactory(new PropertyValueFactory<users,String>("mspd"));
        colGps.setCellValueFactory(new PropertyValueFactory<users,String>("gps"));
        colPw.setCellValueFactory(new PropertyValueFactory<users,String>("pw"));

        listM = mysqlconnect.getDatausers();
        tableUsers.setItems(listM);
    }
}

该应用程序运行良好,但我的复选框文本始终可见,而不是在被选中时可见。我试图找到一些 YouTube 视频并在网上寻找一些答案,但没有成功,有人可以帮助我吗?

标签: checkboxtableview

解决方案


推荐阅读