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");
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章