package org.javamoney.examples.fxdemo.core; import java.io.PrintWriter; import java.io.StringWriter; import javafx.event.ActionEvent; import javafx.scene.control.Button; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.HBox; import javax.money.MonetaryAmount; import org.javamoney.examples.fxdemo.widgets.AbstractExamplePane; import org.javamoney.examples.fxdemo.widgets.AbstractSingleSamplePane; import org.javamoney.examples.fxdemo.widgets.AmountEntry; public class CreateAmounts extends AbstractExamplePane { public CreateAmounts() { super(new ExamplePane()); setExampleTitle("Creating Monetary Amounts"); setExampleDescription("This example shows how to create monetary amounts with different currencies and with different number representations."); setExampleCode(loadExample("/samples/CreateAmounts.javatxt")); } public final static class ExamplePane extends AbstractSingleSamplePane { private HBox exPane = new HBox(); private AmountEntry amount1 = new AmountEntry("Amount"); public ExamplePane() { exPane.getChildren().add(amount1); this.inputPane.getChildren().add(exPane); AnchorPane.setLeftAnchor(exPane, 10d); AnchorPane.setTopAnchor(exPane, 10d); Button actionButton = new Button("Create"); actionButton .setOnAction(new javafx.event.EventHandler<ActionEvent>() { public void handle(ActionEvent action) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); try { MonetaryAmount amount = amount1.getAmount(); pw.println("MonetaryAmount"); pw.println("--------------"); pw.println(); printSummary(amount, pw); } catch (Exception e) { e.printStackTrace(pw); } pw.flush(); ExamplePane.this.outputArea.setText(sw.toString()); } private void printSummary(MonetaryAmount amount, PrintWriter pw) { pw.println("Class: " + amount.getClass().getName()); pw.println("Value: " + amount); } }); buttonPane.getChildren().add(actionButton); } } }