Files
reservationsystem/src/main/java/lodge/TestMainFxCommandDialog.java
2025-10-03 15:00:27 -04:00

76 lines
2.1 KiB
Java

package lodge;
import java.io.IOException;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.control.TextField;
import javafx.util.Callback;
import lodge.datamodel.Address;
public class TestMainFxCommandDialog extends Dialog<Address> {
@FXML
private TextField tfStreet;
@FXML
private TextField tfCity;
@FXML
private TextField tfState;
@FXML
private TextField tfZip;
public TestMainFxCommandDialog() {
super();
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getClassLoader().getResource("dialogCommandAddress.fxml"));
fxmlLoader.setController(this);
try {
fxmlLoader.load();
} catch (IOException exception) {
throw new RuntimeException(exception);
}
getDialogPane().setContent(fxmlLoader.getRoot());
getDialogPane().getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);
setTitle("AccomodationAddress Dialog");
setHeaderText("Enter Inventory Details");
setPropertyBindings();
setResultConverter();
}
private void setPropertyBindings() {
System.out.println("setPropertyBindings called.");
}
private void setResultConverter() {
System.out.println("setResultConverter called.");
Callback<ButtonType, Address> aRC = (buttonType) -> {
if (buttonType == ButtonType.OK) {
if(getStreet().isEmpty() || getCity().isEmpty() || getState().isEmpty() || getZip().isEmpty()) {
return null;
}
return new Address(getStreet(), getCity(), getState(), getZip());
}
return null;
};
setResultConverter(aRC);
}
private String getZip() {
return tfZip.getText();
}
private String getState() {
return tfState.getText();
}
private String getCity() {
return tfCity.getText();
}
private String getStreet() {
return tfStreet.getText();
}
}