add dialog
This commit is contained in:
76
src/main/java/lodge/AccountDialog.java
Normal file
76
src/main/java/lodge/AccountDialog.java
Normal file
@@ -0,0 +1,76 @@
|
||||
package lodge;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.ButtonType;
|
||||
import javafx.scene.control.Dialog;
|
||||
import javafx.util.Callback;
|
||||
import lodge.datamodel.Account;
|
||||
import lodge.datamodel.Address;
|
||||
import lodge.datamodel.EmailAddress;
|
||||
|
||||
public class AccountDialog extends Dialog<Account> {
|
||||
|
||||
private Address mailingAddress;
|
||||
private EmailAddress emailAddress;
|
||||
private String phoneNumber;
|
||||
|
||||
public Address getMailingAddress() {
|
||||
return mailingAddress;
|
||||
}
|
||||
|
||||
public void setMailingAddress(Address mailingAddress) {
|
||||
this.mailingAddress = mailingAddress;
|
||||
}
|
||||
|
||||
public EmailAddress getEmailAddress() {
|
||||
return emailAddress;
|
||||
}
|
||||
|
||||
public void setEmailAddress(EmailAddress emailAddress) {
|
||||
this.emailAddress = emailAddress;
|
||||
}
|
||||
|
||||
public String getPhoneNumber() {
|
||||
return phoneNumber;
|
||||
}
|
||||
|
||||
public void setPhoneNumber(String phoneNumber) {
|
||||
this.phoneNumber = phoneNumber;
|
||||
}
|
||||
|
||||
public AccountDialog() {
|
||||
super();
|
||||
|
||||
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getClassLoader().getResource("accountdialog.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("Account Dialog");
|
||||
setHeaderText("Enter Account Details");
|
||||
setPropertyBindings();
|
||||
setResultConverter();
|
||||
}
|
||||
|
||||
private void setPropertyBindings() {
|
||||
System.out.println("setPropertyBindings called.");
|
||||
}
|
||||
|
||||
private void setResultConverter() {
|
||||
System.out.println("setResultConverter called.");
|
||||
Callback<ButtonType, Account> accountResultConverter = (buttonType) -> {
|
||||
if (buttonType == ButtonType.OK) {
|
||||
return new Account(phoneNumber, mailingAddress, emailAddress);
|
||||
}
|
||||
return null;
|
||||
};
|
||||
setResultConverter(accountResultConverter);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,13 @@
|
||||
package lodge;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Optional;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.control.Button;
|
||||
import lodge.datamodel.Account;
|
||||
|
||||
public class TestMainFxCommandButtonEventController {
|
||||
|
||||
@@ -13,7 +18,16 @@ public class TestMainFxCommandButtonEventController {
|
||||
private void initialize() {
|
||||
|
||||
btnAdd.setOnAction((ev) -> {
|
||||
Platform.exit();
|
||||
|
||||
AccountDialog accomodationDialog= new AccountDialog();
|
||||
|
||||
Optional result = accomodationDialog.showAndWait();
|
||||
|
||||
if( result.isPresent()){
|
||||
// add to storage
|
||||
// bind to model
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user