java fx 界面_【javaFX学习】(一) 建一个简单的界面

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

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

废话不多说,开撸!

工具: IntelliJ IDEA   (其实我也习惯用eclipse,但是一样东西能流行起来自然有它的道理)

jdk   :   1.8

先从最简单的开始,新建一个类,写一个main函数(简单的我想打自己)。

public classMain{public static voidmain(String[] args) {

}

}

第一件事,继承application类以获得javaFX的所有功能。

importjavafx.application.Application;importjavafx.stage.Stage;public class Main extendsApplication{public static voidmain(String[] args) {

launch(args);//启动程序时,初始化javaFX设置

}

@Overridepublic void start(Stage primaryStage) throwsException {

}

}

start()方法就按字面意思理解就好了,程序启动执行的方法,所以我们的初始化界面的方法都写在里面。

那界面都有哪些东西呢,最外面那个带 - □ x 的部分,在javaFX中叫stage。 所以,我们至少需要一个stage,才能看见界面。而上面可以看到,在start(String primaryStage)中,已经有了一个stage,如何让

stage显示呢,调用stage.show()方法;

后面尽量写注释,就不多bb了。

importjavafx.application.Application;importjavafx.scene.Scene;importjavafx.scene.control.Button;importjavafx.scene.layout.StackPane;importjavafx.stage.Stage;public class Main extendsApplication{public static voidmain(String[] args) {

launch(args);//启动程序时,初始化javaFX设置

}

@Overridepublic void start(Stage primaryStage) throwsException {

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

}

}

682e45723298b0431addcfa10a4501ce.png

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

下面给我们的按钮添加一个点击事件:实现EventHandler接口,重写hanle()方法,这里我为了方便就写在一个类里了,实际开发中最好分开,一个类只干一类事,一个方法只干一件事。

给按钮绑定事件:button.setOnAction(this);由于我这里是当前类继承的,所以这里写this就可以了。

importjavafx.application.Application;importjavafx.event.ActionEvent;importjavafx.event.EventHandler;importjavafx.scene.Scene;importjavafx.scene.control.Button;importjavafx.scene.layout.StackPane;importjavafx.stage.Stage;public class Main extends Application implements EventHandler{public static voidmain(String[] args) {

launch(args);//启动程序时,初始化javaFX设置

}

@Overridepublic void start(Stage primaryStage) throwsException {

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

}

@Overridepublic voidhandle(ActionEvent event) {

System.out.println("Click button !");

}

}

371fe82b36274fbccbb0108858ff7c22.gif

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值