【javaFX學習】(一) 建一個簡單的界面


移至csdn更新:http://blog.csdn.net/qq_37837828/article/details/78732563

用過swing都知道有多蛋疼,界面有多丑。自從用了javaFX,腰也不酸了,腿也不疼了。

廢話不多說,開擼!

工具: IntelliJ IDEA   (其實我也習慣用eclipse,但是一樣東西能流行起來自然有它的道理)

jdk   :   1.8

 

先從最簡單的開始,新建一個類,寫一個main函數(簡單的我想打自己)。

public class Main{
    public static void main(String[] args) {
        
    }
}

  第一件事,繼承application類以獲得javaFX的所有功能。

import javafx.application.Application;
import javafx.stage.Stage;

public class Main extends Application{
    public static void main(String[] args) {
        launch(args);//啟動程序時,初始化javaFX設置
    }

    @Override
    public void start(Stage primaryStage) throws Exception {

    }
}

 start()方法就按字面意思理解就好了,程序啟動執行的方法,所以我們的初始化界面的方法都寫在里面。

 那界面都有哪些東西呢,最外面那個帶 - □ x 的部分,在javaFX中叫stage。 所以,我們至少需要一個stage,才能看見界面。而上面可以看到,在start(String primaryStage)中,已經有了一個stage,如何讓

stage顯示呢,調用stage.show()方法;

后面盡量寫注釋,就不多bb了。

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

public class Main extends Application{
    public static void main(String[] args) {
        launch(args);//啟動程序時,初始化javaFX設置
    }

    @Override
    public void start(Stage primaryStage) throws Exception {

        Button button = new Button("點擊按鈕");

        StackPane layout = new StackPane();//布局

        layout.getChildren().add(button);//將按鈕添加入布局

        Scene scene = new Scene(layout,300,300);//設置布局、大小

        primaryStage.setScene(scene);//將場景添加到stage

        primaryStage.show();//顯示stage
    }
}

看圖就很好理解了,控件添加到布局里面,布局添加到secen中,設置scene大小,scene添加到stage,顯示stage。

下面給我們的按鈕添加一個點擊事件:實現EventHandler<ActionEvent>接口,重寫hanle()方法,這里我為了方便就寫在一個類里了,實際開發中最好分開,一個類只干一類事,一個方法只干一件事。

給按鈕綁定事件:button.setOnAction(this);由於我這里是當前類繼承的,所以這里寫this就可以了。

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Main extends Application implements EventHandler<ActionEvent>{
    public static void main(String[] args) {
        launch(args);//啟動程序時,初始化javaFX設置
    }

    @Override
    public void start(Stage primaryStage) throws Exception {

        Button button = new Button("點擊按鈕");
        //button.setOnAction(this::handle);
        button.setOnAction(this);//綁定事件

        StackPane layout = new StackPane();//容器

        layout.getChildren().add(button);//將按鈕添加入布局

        Scene scene = new Scene(layout,300,300);//設置容器、大小

        primaryStage.setScene(scene);//將場景添加到stage

        primaryStage.show();//顯示stage
    }

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

 轉載注明出處:http://www.cnblogs.com/lensener/p/7976953.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM