[英]JavaFX: 2 radio buttons are disabling a text field, when one of them is selected
基本上,我正在嘗試為酒店預訂表格,有2種選擇:
這是場景: https : //imgur.com/a/5GdgFAg
我一直在嘗試使文本字段為“ Nombre de lits”。 無論何時選中單選按鈕“ couple”,都應禁用它。 當我單擊“ Litsseparé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的狀態更改為“ disabled”,因此需要將這兩個屬性綁定在一起。
更改此:
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());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.