知识大全 使用JavaFX Mobile与UI的状况做斗争(一)

Posted 设备

篇首语:富贵不淫贫贱乐,男儿到此是豪雄。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用JavaFX Mobile与UI的状况做斗争(一)相关的知识,希望对你有一定的参考价值。

使用JavaFX Mobile与UI的状况做斗争(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  本文提供了JavaFX Mobile开发的初学者指南 但是因为所有的JavaFX开发都是依赖于相同的SDK和工具 所以也很容易大体上理解JavaFX JavaFX SDK 和它的开发工具为开发JavaFX Mobile应用程序提供了移动模拟 而不是提供了一个单独的JavaFX Mobile SDK 来自Sun的Java Swing小组的Joshua Marinacci在他最近所写的博客中提到 There is no JavaFX Mobile There is only JavaFX

  Java在移动设备上的普遍存在性让 write once run anywhere (WORA)前提很难在随之而来的成百上千的移动设备屏幕上遵守 随着JavaFX Mobile 的发布 Java社区就有了一种工具来打击这种设备UI支离破碎的状况

  JavaFX的语法及与Java的配合

  JavaFX 是由JavaFX Script和JavaFX Mobile组成的一种产品构架 JavaFX Script(简称JavaFX)是一种脚本语言旨在提供了更加丰富的用户界面 而且顾名思义 JavaFX Mobile是 JavaFX 移动平台

  JavaFX Script使用了类似JavaScript 和 Scalar Vector Graphics (SVG)一种声明语法 例如 这里有JavaFX 代码(没有 imports)是为了创建一个小的 hello world 类型的窗口 如Figure Figure Figure 所示

         Stage

  title: Cool Running

  width:

  height:

  scene: Scene

  content: Text

  font: Font

  size:

  

  x:

  y:

  fill: Color GREEN

  content: JavaFX is cool

  

  

  

  如你所看到的 JavaFX与Java和/或JavaScript有相似之处 但也不尽相同

  

  JavaFX的声明风格对比于Java Swing的编程风格是非常明显的 以下的Swing代码(还是没有imports)创建和以上JavaFX例子相同的 hello world 窗口

         public class Main

  public static void main(String[] args)

  JFrame aFrame = new JFrame( Cool Running );

  aFrame setSize( );

  JPanel content = new JPanel();

  content setLayout(new BorderLayout( ));

  content setBackground(Color WHITE);

  JLabel aLabel = new JLabel( Swing is cool );

  aLabel setFont(new Font(null Font PLAIN ));

  aLabel setForeground(Color GREEN);

  content add(aLabel BorderLayout CENTER);

  aFrame setContentPane(content);

  aFrame setVisible(true);

  aFrame

  setDefaultCloseOperation(JFrame EXIT_ON_CLOSE);

  

  

  注意Swing的必要特征(如一行一行的陈述 控制流) 这些事用于传统的Java UI开发 Figure 显示了Java Swing代码的结果

  

  如上所述 JavaFX既不是Java也不是JavaScript 但是JavaFX脚本可以调用Java类或是被Java类调用 例如 在接下来的决定窗口大小的JavaFX 脚本 Stage对象的大小使用标准的Java Math类重新写入了

         var i = ;

  var j = ;

  Stage

  title: Cool Running

  width: java lang Math max(i j)

  height:

  scene: Scene

  

  Sun公司宣称JavaFX改变现有的Java代码的能力是与其他RIA技术 如Adobe Flex 相比之下的优势之一 另外 JavaFX Script为构建任何应用程序提供了一个平台 它被Sun公司定义的目的是用在UI开发而不是用在商业或是后端组件

  JavaFX Mobile构架

  

  JavaFX应用程序依赖于运行在Java Virtual Machine (JVM)之上的JavaFX runtime 对于移动应用程序 JavaFX运行在Java ME JVM(参见Figure 和 Figure )上

  目前的JavaFX API被分成两类的API元素 mon 和desktop 这些类别叫做profiles 而且它们所包含的元素可以在他们的profile中支持各种各样的UI需求和平台能力 Common profile提供了很多同时支持桌面和移动设备的类 换句话说 它为所有运行在JVM(Java ME或Java SE JVM)上的平台提供了最低的普通标准的UI Desktop profile提供了更先进的能力以支持更大功能更丰富的平台

  要创建需要所有形式的要素的应用程序 开发者应该保留mon profile 要计划部署一个桌面平台或是一个普通的桌面浏览器的开发者 可以选择用desktop profile提供的API来加强他们的应用程序

  

  设备支持和应用程序配置

  所以哪些设备支持JavaFX Mobile并且怎样让你的应用程序来部署这些设备呢?目前市场上没有应用JavaFX的产品 但是 在JavaFX Mobile推出的时候 Sun公司向很多设备制造商(包括LG Sprint Sony Ericcson)宣称已经致力于在不久的将来提供JavaFX功能的产品

  虽然在具体JavaFX设备的细节上的问题此刻还很模糊 但是Sun公司已经明确表示JavaFX不是为所有移动设备提供的 因为一个支持Java ME的MIDP/CLDC设备并不意味着它最后也支持JavaFX JavaFX是针对那些符合Mobile Service Architecture (MSA) 平台规格(JSR )的设备 这就意味着 除了MIDP/CLDC JavaFX设备必须支持有智能手机特性的APIs 这些包括个人信息管理(PIM) 无线通讯 D图形和移动多媒体

  至于JavaFX 应用程序如何部署到设备上 本质上有两种选择 都是Java ME开发者常见的

   把它嵌入到设备上

   把它( over the air )发送到设备上

  

  因为JavaFX在有MSA 的移动设备上的JavaME之上运行 各种机构应该充分利用现有的Java ME基础设施和部署机制

  构建一个JavaFX Mobile 应用程序

  现在你知道什么是JavaFX Mobile了 那么你怎样构建一个JavaFX Mobile应用程序呢?这一节将说到JavaFX Mobile开发的初学者指南 它将解释如何获得所需的技术 如何去建立一个环境 还有如何开发并运行Hello World应用程序(以上所显示的)

  JavaFX程序可以正式构建在Windows和Mac OS 平台上 Sun公司没有提供Linux产品 但是开发者已经找到一个方法在Linux用NetBeans Plugin来开发 JavaFX 程序 这次讨论的最重要的就是 JavaFX Mobile运行时间和模拟器这次只为Windows 平台提供

  有关Windows和Mac OS 的系统需求的具体细节可以参看 site 你必须有一个相对较新的JDK(Windows至少需要版本 更新 而Mac OS至少需要的是版本 更新 的)

  除了基本的Java环境 你还需要JavaFX SDK(安装指南参看) 下载安装程序对于Windows版本大约是 MB而Mac OS是 MB 当安装SDK时 如果相应的Java SDK环境无法找到 该安装可以是你通过一些步骤来安装Java SDK(参见Figure 看一下在Windows栏上的JavaFX SDK安装)

  用JavaFX工作

  JavaFX SDK提供了一系列的命令行工具来进行编译 运行和测试JavaFX 程序 也为运行和测试JavaFX Mobile程序提供了一个带有SDK的移动设备模拟器

  Javafxc工具与标准的javac exe工具用法相同 编译器获得JavaFX 源代码(代码保存在 fx文件中)并且把它们编译到在类( class files)中的Java 字节代码 Figure 显示了如何编译先前讨论的Hello World JavaFX 代码——之后它被保存在叫Test fx的文件中——使用javafxc exe 而Figure 显示了如何使用javafx exe执行它

  

  在bin目录中提供的是JavaFX包和文件工具 packaging tool (javafxpackager exe)是移动开发者比较感兴趣的 因为它提供了创建一个为部署移动设备或是模拟器的mobile ready package的方法 但是 packaging tool也能用于创建browser ready或是Web Start程序 通过JavaFX代码

  为了给移动设备或是模拟器部署创建Java Application Descriptor (JAD)和JAR文件 你必须至少给javafxpackager工具提供 fx文件源代码的位置(它没有被编译为 class文件)和主要类的名字或是为程序启动point class

  默认情况下 javafxpackager为浏览器或是Web Start部署创建了一套部署文件 为了创建移动部署的JAD和JAR文件 你必须也要在命令行需求中使用–p mobile选项 –p代表 profile 而且你可以再移动或是桌面选项上显示此开关

  这里是整个的来自Test fx 文件(本例子中的位置在c:\\jfx 文件夹)的javafxpackager命令来创建一个mobile ready程序

  javafxpackager src c:\\jfx appClass Test p mobile d c:\\jfx\\dist

  –src选项指定JavaFX script代码的来源 appClass指定了主要类的名字 而可选的–d选项指定了输出的目的地(the JAD 和 JAR files) 结果参见Figure

  接下来 没有–p mobile选项(或是通过指定的–p desktop) javafxpackager制作了HTML JAR和JNLP文件使用于browser 或是Web Start执行 如Figure 所示

  随着Windows版本的JavaFX SDK是一个模拟器来测试程序 你可以在位于JavaFX SDK安装目录中的 /emulator/bin次文件夹中的找到一个emulator exe 为了测试javafxpackager制作的JavaFX JAD/JAR文件 在仿真器工具上调用JAD文件 使用–Xdescriptor:选项来指定JAD文件来执行 见Figure

  

cha138/Article/program/Java/JSP/201311/19281

相关参考

知识大全 JavaFX 深入浅出(一)富客户端应用程序 RIAs

JavaFX深入浅出(一)富客户端应用程序RIAs  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 JavaFX 推出移动版

JavaFX推出移动版  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JavaFX移动平台通过一

知识大全 JavaFX 深入浅出(二)基本数据类型

JavaFX深入浅出(二)基本数据类型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一Java

用你的嘴和疾病做斗争

加里·弗雷泽博士是专门研究心血管疾病的流行病学家,喜欢把栗子撒在他的麦片上。在洛杉矶附近的洛马·琳达大学健康研究中心,弗雷泽和同事们研究了26500名以星期六为安息日的耶稣再生论者的饮食习惯,发现每周

知识大全 jquery ui dialog实现弹窗特效

  今天我们用jqueryuidialog来做一个弹窗特效我们先看下效果截图>  我们可以看到点击的时候弹窗出现而且这个弹窗是居中的还是可以拖动的实现这一切只要以下代码>  我们可以看到我对pop这个

知识大全 Java代码调用JavaFX的例子

Java代码调用JavaFX的例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在JavaFX

知识大全 JavaFX 深入浅出(四)变量、函数

JavaFX深入浅出(四)变量、函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JavaFX

知识大全 JavaFX绑定探究

JavaFX绑定探究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据绑定连接一些对象并且使它

知识大全 jquery ui dialog实现弹窗特效的思路及代码

这篇文章介绍了jqueryuidialog实现弹窗特效的思路及代码有需要的朋友可以参考一下   今天我们用jqueryuidialog来做一个弹窗特效我们先看下效果截图    我们可以看到点

知识大全 在Eclipse中编写JavaFX

在Eclipse中编写JavaFX  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们今天先来看