import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

/**
 * A basic JavaFX application showing basic controls, containers, and event
 * handling using lambda expressions.
 */
public class JavaFXDemo3 extends Application {

	public static void main ( String[] args ) {
		launch(args);
	}

	@Override
	public void start ( Stage stage ) throws Exception {
		stage.setTitle("JavaFX Demo #3");

		BorderPane root = new BorderPane();
		Scene scene = new Scene(root);
		stage.setScene(scene);
		// keep the window from being resized by the user
		stage.setResizable(false);

		// controls
		TextField text = new TextField("");
		text.setPrefColumnCount(8);

		Button top = new Button("top");
		top.setOnAction(e -> text.setText("top"));

		Button center = new Button("center");
		center.setOnAction(e -> text.setText("center"));

		Button left = new Button("left");
		left.setOnAction(e -> text.setText("left"));

		Button right = new Button("right");
		right.setOnAction(e -> text.setText("right"));

		// add nodes to the root of the scene graph
		root.setTop(top);
		root.setCenter(center);
		root.setLeft(left);
		root.setRight(right);
		root.setBottom(text);

		stage.show();
	}

}
