javaFX系列之launcher啓動器:兩種啓動javaFX的方式及launch(args[])參數設置和獲取

前言

本章接着之前的根據組件學習javaFX的系列教程,本章爲javaFX視頻播放器的簡單實現。

javaFX結構組件

參考

本章有且只參考了oracle javaFX官方文檔:
https://docs.oracle.com/javase/8/javafx/media-tutorial/overview.htm#JFXMD101

launcher簡述

launcher啓動器是用於啓動javaFX窗口、初始化資源和創建三個javaFX線程等等一系列操作的程序初始化入口。

兩種方式啓動javaFX

javaFX有兩種方式可以啓動,一種是由Application實現類中的main方法直接執行launch(args[])啓動;次之就是通過Application的靜態方法Application.launch(class<?> cla, args[]);
launch(args[])方法其實內部還是調用的Application.launch(class<?> cla, args[]);方法,這是因爲javaFX需要當前Application實現類作爲頂級加載基類。

Application實現類內部launch方式啓動

調用方式

 launch(String args[]);

使用示例

public class JavaFxVideoPlayer extends Application{

	@Override
	public void start(Stage primaryStage) throws Exception {
		Console.log(this.getClass().getSimpleName()+"開始顯示窗口,順序:4,當前線程:"+Thread.currentThread().getName());
		primaryStage.setTitle("demo窗口");
		primaryStage.setScene(scene);
		
		primaryStage.setFullScreen(false);//全屏
		primaryStage.sizeToScene();
		primaryStage.requestFocus();
		primaryStage.setResizable(true);
		
		primaryStage.show();
	}

	public static void main(String[] args) {
		launch(new String[]{"--width=1280","--height=720","--src=http://localhost:81/big_buck_bunny.mp4"});
		//launch(args);
	}
}

靜態launch方式啓動

調用方式

Application.launch(Class<?> cla,String args[]);

使用示例

public static void main(String[] args) {
		Application.launch(JavaFxVideoPlayer.class,new String[]{"--width=1280","--height=720","--src=http://localhost:81/big_buck_bunny.mp4"});
}

lancher參數

參數設置格式

–name=value

參數設置使用示例

插入初始化參數

Application.launch( JavaFxVideoPlayer.class, 
					new String[]{
						"--width=1280",
						"--height=720",
						"--src=http://localhost:81/big_buck_bunny.mp4"
						}
);

獲取參數方式

Map<String, String> params=getParameters().getNamed();
return params.get(key);

獲取參數示例

/**
	 * 獲取lancher中傳入的args參數
	 * @param key
	 * @return
	 */
	private String getParam(String key) {
		Map<String, String> params=getParameters().getNamed();
		return params.get(key);
	}

	//在Application實現類中獲取args傳參
	@Override
	public void init() throws Exception {
		src=getParam("src");
		String width=getParam("width");
		String height=getParam("height");
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章