gpt4 book ai didi

JavaFX:当选择其中之一时,2 个单选按钮将禁用文本字段

转载 作者:行者123 更新时间:2023-12-02 10:47:13 24 4
gpt4 key购买 nike

基本上我正在尝试获取酒店预订表格,有 2 个选择:

  • 配备一张双人床的“情侣房”,其中不能放置其他床,或者
  • 一间配有独立床位的客房,最多可容纳 4 张床。

这是场景:/image/SHk0Z.jpg

我一直在尝试制作一个文本字段“Nombre de lits”。只要选择单选按钮“情侣”,就应禁用它。当我单击单选按钮“Lits separés”时,应该启用它。但即使我单击该按钮,文本字段仍保持禁用状态。

我一直在努力让它工作,但没有成功。这是我的代码:

package controleur;

import java.time.LocalDate; import java.time.format.DateTimeFormatter;

import accesBD.ClientDAO; import javafx.beans.binding.Bindings; import javafx.beans.binding.BooleanBinding; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.DatePicker; import javafx.scene.control.RadioButton; import javafx.scene.control.TextField; import javafx.scene.control.ToggleGroup; import metier.Client;

public class ReservationControleur {

private ClientDAO bd = new ClientDAO();

@FXML
private TextField nom;

@FXML
private TextField prenom;

@FXML
private TextField nationalite;

@FXML
private DatePicker datedebut;

@FXML
private TextField numtel;

@FXML
private DatePicker datefin;

@FXML
private RadioButton couple;

@FXML
private RadioButton litss;

@FXML
private RadioButton douche;

@FXML
private RadioButton bain;

@FXML
private TextField nbrlits;

@FXML
private RadioButton standard;

@FXML
private RadioButton inclusive;

@FXML
private RadioButton vip;

@FXML
private Button valider;

@FXML
private Button anuuler;
private ToggleGroup group = new ToggleGroup();
private ToggleGroup group1 = new ToggleGroup();

@FXML private void isClicked(ActionEvent event){

}

public void initialize() {

datedebut.setValue(LocalDate.now());

couple.setToggleGroup(group);
couple.setSelected(true);
litss.setToggleGroup(group);
douche.setToggleGroup(group1);
bain.setToggleGroup(group1);
douche.setSelected(true);
if(couple.isSelected())
nbrlits.setDisable(true);
else
nbrlits.setDisable(false);
}


@FXML
void confirmer(ActionEvent event) {
int ntel = Integer.parseInt(numtel.getText());
Client c = new Client(nom.getText(), prenom.getText(), nationalite.getText(), ntel);
bd.add(c);
}

@FXML
void remiseazero(ActionEvent event) {

}
}

有人可以帮忙吗?

最佳答案

检查选择哪个 RadioButton 的代码仅执行一次 - 当 ReservationControleur 初始化时,这不是您需要的。

每次选择“Couple” RadioButton 时,您都希望将“nbrlits” TextView 的状态更改为“已禁用”,因此需要将这两个属性绑定(bind)在一起。

更改此:

if(couple.isSelected())
nbrlits.setDisable(true);
else
nbrlits.setDisable(false);
}

进入此:

//set "nbrlits" to disabled state each time "couple" radiobutton is selected
nbrlits.disableProperty().bind(couple.selectedProperty());

关于JavaFX:当选择其中之一时,2 个单选按钮将禁用文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52465852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com