【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

转载于:https://www.cnblogs.com/lensener/p/7976953.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值