예제 #1
0
  public static void main(String[] args) {

    Bill bill1 = new Bill();
    Bill bill2 = new Bill();
    Bill bill3 = new Bill();

    NumberBinding total =
        Bindings.add(
            bill1.amountDueProperty().add(bill2.amountDueProperty()), bill3.amountDueProperty());
    total.addListener(
        new InvalidationListener() {

          public void invalidated(Observable o) {
            System.out.println("The binding is now invalid.");
          }
        });

    // First call makes the binding invalid
    bill1.setAmountDue(200.00);

    // The binding is now invalid
    bill2.setAmountDue(100.00);
    bill3.setAmountDue(75.00);

    // Make the binding valid...
    System.out.println(total.getValue());

    // Make invalid...
    bill3.setAmountDue(150.00);

    // Make valid...
    System.out.println(total.getValue());

    // Calling Money-API directly
    System.out.println(bill1.getNewAmountDue());
    System.out.println(bill2.getNewAmountDue().add(bill1.getNewAmountDue()));

    // Some test to check out Temporal
    Temporal t = LocalDateTime.now();
    System.out.println(t);
  }