1.第一个JavaFX Application
JavaFX 使用Java来制作可视化图形,可以做动画和3D效果,JavaFX从JDK中直接使用。
package application;import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.layout.BorderPane;public class Main extends Application { @Override public void start(Stage primaryStage) { try { BorderPane root = new BorderPane(); Scene scene = new Scene(root,400,400); scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); primaryStage.setScene(scene); primaryStage.show(); } catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); } }
创建完毕,得到一个空的窗口。Main从Application中继承过来,launch(args);进入程序,然后一切准备好就进入Start。
entire window ---Stage
content of the window --- scene
在start方法中加入以下的语句
Button button = new Button(); button.setText("Click me");StackPane layout = new StackPane(); layout.getChildren().add(button);Scene scene = new Scene(layout,400,400);
调用了StackPane类和Scene类来实现视图,此时可以得到一个只有一个"Click me"按钮的窗口。Button加到StackPane上,然后将StackPane加到Scene上,最后调用Scene的Show()显示窗口。
2、HandleUserEvent
现在要点击这个Button了,添加 button.setOnAction(this);,添加点击的事件此时让程序对于点击做出反应。
public void start(Stage primaryStage){primaryStage.setTitle("Hello OOOO");button = new Button();button.setText("Click me"); button.setOnAction(this); StackPane layout = new StackPane(); layout.getChildren().add(button); Scene scene = new Scene(layout,400,400); primaryStage.setScene(scene); primaryStage.show(); } @Override public void handle(ActionEvent arg0) { // TODO Auto-generated method stub if(arg0.getSource()==button){ System.out.println(")00000)))):)))"); } }
可以在Java的终端中得到下列的信息:
)00000)))):)))
)00000)))):)))
)00000)))):)))
)00000)))):)))
也就是我们要的点击了按钮,然后输出相关信息