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

时间:2023-11-26 13:54:32

移至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
}
}

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

看图就很好理解了,控件添加到布局里面,布局添加到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 !");
}
}

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

转载注明出处:http://www.cnblogs.com/lensener/p/7976953.html