【发布时间】:2021-01-22 12:51:20
【问题描述】:
我是一个尝试在 JavaFX 应用程序中制作复选框的初学者,有人可以告诉我如何使用此复选框方法连接到我的数据库:
@FXML
private void handleOptions(ActionEvent e){
String message= "";
if(checkFc.isSelected()){
message += checkFc.getText();
return;
}
我想将复选框的值应用到此方法中:
public void addUsers (){
conn = mysqlconnect.ConnectDb();
String sql = "insert into users (username,password,email,fc)values(?,?,?,? )";
try {
pst = conn.prepareStatement(sql);
pst.setString(1, txtUsername.getText());
pst.setString(2, txtPassword.getText());
pst.setString(3, txtEmail.getText());
pst.setString(4, checkFc.getText());
getText 方法,虽然它有效,但无论是否选中复选框,它都会获取值,在调用 handleOptions 方法时,我得到 cannot resolve 方法,这是有道理的,因为这些是准备好的语句,所以是否有使我的方法成为preparedStatement 的方法,或者我可以完全以另一种方式连接我的方法,我真的需要这方面的帮助。
【问题讨论】:
-
不清楚你想在这里做什么。如果选中复选框,您想为
fc列设置什么,如果未选中,您想为fc列设置什么?当然,只需在addUsers()方法中使用if (checkFc.isSelected()) { ... }. else { ... }即可达到您想要的效果。 -
minimal reproducible example please:它应该展示您想要实现的目标以及它如何无法按预期工作
-
@James_D 如果复选框被选中,它会在其列中设置复选框的文本(或标题),如果未选中,它的 null 使列为空,这不是复选框的作用?如果选中则获取一个值,如果未选中则没有,您能否详细说明一下方法中的 if 语句,因为我做了,但它什么也没改变,可能是我没有正确执行,我只是在 public 下写了 if 语句void add line,运行它并没有任何改变。
-
我不知道你的问题是什么。
checkBox.getText()获取复选框的文本,不管它是否被选中。如果无法将“如果复选框被选中,则将第 4 个参数设置为复选框的文本,否则将其设置为 null”转换为代码,我不确定是否有人可以帮助您。 -
好的,看我的回答。但我认为你基本上是在这个网站上问“我如何使用
if声明”,这太疯狂了。
标签: java mysql javafx checkbox