ITI0011RUS:javafx ex

Allikas: Kursused
Redaktsioon seisuga 9. aprill 2015, kell 08:35 kasutajalt Aleksandr (arutelu | kaastöö)
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)
Mine navigeerimisribale Mine otsikasti

Вернуться на страницу предмета

JavaFXIntro.java: <source lang="java"> import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.stage.Stage;

/**

* @author aleksandr.lenin
*
*/

public class JavaFXIntro extends Application {

/** * @param args */ public static void main(String[] args) { launch(args); }

@Override public void start(Stage primaryStage) throws Exception { Scene sc = new Scene(new StackPane(),800,600); primaryStage.setScene(sc); primaryStage.show(); }

} </source>


HelloWorld.java: <source lang="java"> import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.StackPane; import javafx.stage.Stage;

public class HelloWorld extends Application {

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

   @Override
   public void start(Stage primaryStage) {
       primaryStage.setTitle("Hello World!");
       StackPane root = new StackPane();
       Scene scene = new Scene(root, 300, 250);
       TextField text = new TextField();
       text.setText("My awesome contribution =)");
       Label label = new Label();
       label.setText("Foo");
       
       Button btn = new Button();
       btn.setText("Say 'Hello World'");
       /*
       btn.setOnAction(
       	new EventHandler<ActionEvent>() {

@Override public void handle(ActionEvent event) { System.out.println("Hello World!"); }

       	}
       );
       */
       btn.setOnAction(new MyAwesomeEventHandler(scene));
       StackPane.setAlignment(text, Pos.TOP_CENTER);
       StackPane.setAlignment(label, Pos.BOTTOM_CENTER);
       root.getChildren().add(btn);
       root.getChildren().add(text);
       root.getChildren().add(label);
       primaryStage.setScene(scene);
       primaryStage.show();
   }

} </source>


MyAwesomeEventHandler.java: <source lang="java">

import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.event.Event; import javafx.event.EventHandler; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.StackPane;

/**

* @author aleksandr.lenin
*
*/

public class MyAwesomeEventHandler implements EventHandler<ActionEvent> {

private Scene scene = null;

public MyAwesomeEventHandler(Scene scene) { this.scene = scene; }

@Override public void handle(ActionEvent event) { StackPane root = (StackPane) this.scene.getRoot(); ObservableList<Node> children = root.getChildren();

Label label = null; TextField text = null; for(Node n : children) { if(n instanceof Label) { label = (Label) n; } else if(n instanceof TextField) { text = (TextField) n; } }

label.setText(text.getText()); }

} </source>