JavaFx入门(一)
JavaFx和Swing的对比:
javaFX确实比swing好看些,但没有swing的事件按钮等写法爽快,特别是使用eclipse的matisse开发视图,托拉拽的方式。可javaFX不只是有swing的优点还能支持多媒体,动画等。swing已经很久没有更新了,如果做GUI还是推荐javaFX。虽然javaFX略占cpu,不过现在的服务器或者pc的配置都逐步高了,一点cpu相比效果也不算啥。
桌面开发javaFX的文档和资源相对于swing少些。如果两者你都不熟悉可以直接研究javaFX。JavaFX也支持:CSS、Lambda表达式
最简单模板:
package Instance; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.Event; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.BorderPane; import javafx.stage.Stage; public class TestInstance extends Application{ public static void main(String[] args) { // TODO Auto-generated method stub launch(args); //启动程序时,初始化javaFX设置 } @Override //javaFX程序入口 public void start(Stage fx) throws Exception { Button btn=new Button("按钮"); //添加控件 btn.setOnAction(this::handle2);//绑定按钮事件 //btn.setOnAction(Event -> System.out.println("Click button2!"));//使用lambda表达式绑定按钮事件 BorderPane bp=new BorderPane(); //设置容器 bp.setCenter(btn);//将控件添加进容器 //场景布局 Scene sc=new Scene(bp, 400, 400);//设置场景,将容器添加进场景中并设置宽高 //显示 fx.setScene(sc);//添加场景 fx.setTitle("Hello World"); //设置标题 fx.show(); //显示 } //点击事件 public void handle2(ActionEvent event) { System.out.println("Click button !"); } }
效果: