private void setFormData() { if (oldItem != null) { btnOk.setDisable(true); long ldate = oldItem.getTransDate().getTime(); Date d2 = new Date(ldate); LocalDate localDate = d2.toLocalDate(); transDate.setValue(localDate); transDescription.setText(oldItem.getTransDesc()); transAmt.setText(Float.toString(oldItem.getTransAmt())); transBalance.setText(Float.toString(oldItem.getTransBal())); accountNum.setValue(oldItem.getAccountNum()); transId.setText(oldItem.getId().toString()); if (oldItem.getPrimaryCat() != null) { String str = oldItem.getPrimaryCat().getDescription(); primaryCat.setValue(str); } if (oldItem.getPayment() != null) { paymentDetail.setList(FXCollections.observableList(oldItem.getPayment())); paymentDetail.setItems(paymentDetail.getList()); Category c = oldItem.getSubCat(); if (c != null) { subCat.setValue(c.getDescription()); } } if (oldItem.getCheckNum() != null) { checkNum.setText(oldItem.getCheckNum()); } transDate.setDisable(true); transId.setDisable(true); transAmt.setDisable(true); btnOk.setDisable(true); } else { Date date = new Date(newItem.getTransDate().getTime()); transDate.setValue(date.toLocalDate()); transAmt.setText(Float.toString(newItem.getTransAmt())); transDescription.setText(newItem.getTransDesc()); accountNum.setValue(newItem.getAccountNum()); transId.setText(newItem.getId().toString()); primaryCat.setValue(newItem.getPrimaryCat().getDescription()); } }
public void buildForm() { try { URL location = getClass().getResource("/com/webfront/app/fxml/LedgerEntryForm.fxml"); ResourceBundle resources = ResourceBundle.getBundle("com.webfront.app.bank"); FXMLLoader loader = new FXMLLoader(location, resources); btnOk.setDefaultButton(true); btnCancel.setCancelButton(true); stage = new Stage(); scene = new Scene(this); stage.setScene(scene); stage.setTitle("Item Detail"); loader.setRoot(this); loader.setController(this); loader.load(); ObservableList<Category> cList = view.getCategoryManager().getCategories(); ObservableList<Account> accountList = javafx.collections.FXCollections.observableArrayList(Bank.accountList); accountList .stream() .forEach( (acct) -> { accountNum.getItems().add(acct.getId()); }); for (Category c : cList) { // Category parent = c.getParent(); Integer parent = c.getParent(); categoryMap.put(c.getDescription(), c); if (parent == 0) { primaryCat.getItems().add(c.getDescription()); } else if (oldItem != null) { if (oldItem.getPrimaryCat() != null) { if (parent == oldItem.getPrimaryCat().getId()) { subCat.getItems().add(c.getDescription()); } } } } if (oldItem != null) { if (oldItem.getSubCat() != null) { Category c = oldItem.getSubCat(); if (c != null) { String desc = c.getDescription(); if (!subCat.getItems().contains(desc)) { subCat.getItems().add(desc); } subCat.setValue(c.getDescription()); } } } primaryCat .getSelectionModel() .selectedItemProperty() .addListener( new ChangeListener() { @Override public void changed(ObservableValue observable, Object oldValue, Object newValue) { String newCat = newValue.toString(); if (categoryMap.containsKey(newCat)) { if (oldItem.getId() != null) { Category c = categoryMap.get(newCat); String sqlStmt = "SELECT * FROM categories WHERE parent = " + Integer.toString(c.getId()); sqlStmt += " order by description"; ObservableList<Category> subCatList = view.getCategoryManager().getCategories(sqlStmt); subCat.getItems().clear(); subCatMap.clear(); for (Category cat2 : subCatList) { subCatMap.put(cat2.getDescription(), cat2); } subCat.getItems().addAll(subCatMap.keySet()); if (oldItem.getPrimaryCat() == null) { oldItem.setPrimaryCat(c); btnOk.setDisable(false); } if (!oldItem.getPrimaryCat().getDescription().equals(primaryCat.getValue())) { oldItem.setPrimaryCat(c); btnOk.setDisable(false); } } } } }); subCat .getSelectionModel() .selectedItemProperty() .addListener( new ChangeListener() { @Override public void changed(ObservableValue observable, Object oldValue, Object newValue) { if (newValue != null) { String newCat = newValue.toString(); if (subCatMap.containsKey(newCat)) { if (oldItem != null) { oldItem.setSubCat(subCatMap.get(newCat)); btnOk.setDisable(false); } } } } }); transDescription.setOnKeyPressed( new EventHandler<KeyEvent>() { @Override public void handle(KeyEvent event) { if (!transDescription.getText().equals(oldItem.getTransDesc())) { oldItem.setTransDesc(transDescription.getText()); btnOk.setDisable(false); } } }); transDescription .textProperty() .addListener( new ChangeListener() { @Override public void changed(ObservableValue observable, Object oldValue, Object newValue) { if (!oldValue.equals(newValue)) { btnOk.setDisable(false); } } }); checkNum.setOnKeyPressed( new EventHandler<KeyEvent>() { @Override public void handle(KeyEvent event) { if (event.getCode() == KeyCode.TAB) { if (!checkNum.getText().equals(oldItem.getCheckNum())) { oldItem.setCheckNum(checkNum.getText()); btnOk.setDisable(false); } } } }); transAmt .textProperty() .addListener( new ChangeListener() { @Override public void changed(ObservableValue observable, Object oldValue, Object newValue) { if (!oldValue.equals(newValue)) { btnOk.setDisable(false); } } }); distView.setPrefSize(857.0, 175.0); paymentDetail.setPrefSize(857.0, 175.0); distView.getChildren().add(paymentDetail); stage.show(); } catch (IOException ex) { Logger.getLogger(LedgerForm.class.getName()).log(Level.SEVERE, null, ex); } }