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 !"); } }
效果: