Hello JavaFX 2.0:命令行介绍

我从博客文章Hello JavaFX 2.0:NetBeans 7.1 beta的介绍中,从NetBeans 7.1 beta的角度看了一个无处不在的Hello World示例的简单JavaFX版本。 在本文中,我将介绍仅使用命令行工具通过JavaFX实现的Hello World版本。
JavaFX 2.0 API文档包括javafx.application.Application类的类描述,这是一个很好的起点。 Application类的Javadoc文档提供了有效的类用法描述的示例。 此类描述描述了JavaFX应用程序的生命周期,甚至提供了代码示例以及显示示例呈现方式的图像。 我将在这篇文章中处理相同的示例。
Application类的Javadoc文档描述了该类的核心作用:“ JavaFX应用程序从其扩展的应用程序类。” start(Stage)方法是Application类中最有趣的方法,因为它是“所有JavaFX应用程序的主要入口点”。 它是一种抽象方法,因此必须通过扩展类来覆盖。 下一个代码清单显示了将编译但不执行任何操作的最小实现(它甚至没有main功能)。

HelloWorld.java(I:最小裸机)

package dustin.examples;import javafx.application.Application;
import javafx.stage.Stage;/*** Simple JavaFX Hello World example.* * @author Dustin*/
public class HelloWorld extends Application
{@Overridepublic void start(final Stage stage) throws Exception{throw new UnsupportedOperationException("JavaFX example not supported yet.");}
}

上一个代码片段显示了两个JavaFX类( Application和Stage )的导入当使用Javac编译以上代码而未将JavaFX库放在类路径上时,会发生类似于以下内容的错误。

HelloWorld.java:3: error: package javafx.application does not exist
import javafx.application.Application;^
HelloWorld.java:4: error: package javafx.stage does not exist
import javafx.stage.Stage;^
HelloWorld.java:11: error: cannot find symbol
public class HelloWorld extends Application^symbol: class Application
HelloWorld.java:14: error: cannot find symbolpublic void start(final Stage stage) throws Exception^symbol:   class Stagelocation: class HelloWorld
HelloWorld.java:13: error: method does not override or implement a method from a supertype@Override^
5 errors

显而易见的解决方案是将apropos JavaFX库放在编译器的类路径上。 就我而言,构建此代码所需的JavaFX SDK和JAR是C:\ Program Files \ Oracle \ JavaFX 2.0 SDK \ rt \ lib \ jfxrt.jar

下一个代码清单建立在上一个代码片段的基础上,并改编自Application类的类级Javadoc文档中提供的示例。  

HelloWorld.java(II:改编自Application的Javadoc)

package dustin.examples;import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;/*** Simple JavaFX Hello World example.* * @author Dustin*/
public class HelloWorld extends Application
{@Overridepublic void start(final Stage stage) throws Exception{final Circle circ = new Circle(40, 40, 30);final Group root = new Group(circ);final Scene scene = new Scene(root, 400, 300);stage.setTitle("Hello JavaFX 2.0!");stage.setScene(scene);stage.show();}
}

上面显示的JavaFX应用程序可以部署到Web浏览器 ,但是我将重点放在从命令行运行它。 为此,将一个主要功能添加到JavaFX应用程序,如下一版本中所示。  

HelloWorld.java(III:添加了“ main”功能)

package dustin.examples;import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;/*** Simple JavaFX Hello World example.* * @author Dustin*/
public class HelloWorld extends Application
{@Overridepublic void start(final Stage stage) throws Exception{final Circle circ = new Circle(40, 40, 30);final Group root = new Group(circ);final Scene scene = new Scene(root, 400, 300);stage.setTitle("Hello JavaFX 2.0!");stage.setScene(scene);stage.show();}/*** Main function used to run JavaFX 2.0 example.* * @param arguments Command-line arguments: none expected.*/public static void main(final String[] arguments){Application.launch(arguments);}
}

main功能中只需要一行。 该行是对静态方法Application.launch(String ...)的调用,并带有传递给它的命令行参数。 现在可以执行该应用程序,并显示如下屏幕快照所示。

结论
这篇博客文章演示了仅使用命令行工具编写和运行简单的JavaFX应用程序。 证明JavaFX 2.0已将“ Java”放回JavaFX中,本文中的示例已使用用于“常规” Java应用程序的典型Java编译器和Java启动器进行编译和执行。 更复杂的JavaFX应用程序可能会从更特定的工具中受益,但是该工具仅使用标准Java工具进行编译和执行。
参考: Hello JavaFX 2.0:来自JCG合作伙伴 Dustin Marx 的命令行介绍,来自Inspired by Actual Events博客。

翻译自: https://www.javacodegeeks.com/2012/08/hello-javafx-20-introduction-by-command.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle列分区,Oracle数据库分区--实例

分区表通过对分区列进行判断,把满足不同条件的分区列对应的记录保存在不同的分区中。一、何为分区表什么情况下会使用分区表?表中已有大量数据,或预计到表中将会保存大量的数据可以按照预期(月份、区域、dml)对表中的数据执行查询和更新什么是…

ZK实际应用:MVVM –与ZK客户端API一起使用

在之前的文章中,我们使用ZK的MVVM实现了以下功能: 将数据加载到表中 使用表单绑定保存数据 删除条目并以编程方式更新视图 ZK MVVM和ZK MVC实现方式之间的主要区别是,我们不直接在controller(ViewModel)类中访问和操…

终极JPA查询和技巧列表–第1部分

我们可以在Internet上找到一些JPA“如何做”,在本博客的此处,教您如何使用JPA执行多项任务。 通常,我看到有人问有关使用JPA进行查询的问题。 通常,为了回答此类问题,提供了几个链接,以尝试找到该问题的解决…

Spring集成–第2节–更多世界

这是Spring Integration Session 1的后续活动 第一部分是使用Spring Integration的简单Hello World应用程序。 我想通过考虑其他一些方案来进一步介绍它。 因此,对Hello World应用程序的第一个更改是添加网关组件。 要快速重新访问较早的测试程序,请执行…

oracle 会话实例,返璞归真:Oracle实例级别和会话级别的参数设置辨析

杨廷琨(yangtingkun)云和恩墨 CTO高级咨询顾问,Oracle ACE 总监,ITPUB Oracle 数据库管理版版主参数文件是Oracle数据库文件中级别最低,也是最基本的文件,但是也是数据库实例启动第一个涉及的文件。如果参数文件缺失或者某些参数设…

在多节点集群中运行Cassandra

这篇文章收集了我在多节点中设置Apache Cassandra集群的步骤。 在设置集群时,我已经参考了Cassandra Wiki和Datastax文档。 详细介绍了以下过程,分享了我建立群集的经验。 设置第一个节点 添加其他节点 监视集群– nodetool , jConsole &am…

Oracle 添加 scott 示例用户

学习SQL有一段时间了,但是也忘记的差不多了,今天有赶紧复习复习,然后发现一个问题,为啥之前看的视频教程,马士兵用的Oracle有scott用户和那些表格,而我的没有?难道是Oracle取消了?然…

win8oracle10g安装报错,Win8电脑安装Oracle 10g提示程序异常终止的解决方法

有win8系统用户反映说在安装Oracle 10g的时候,选择高级安装之后,就弹出一个窗口,提示程序异常终止,发生内部错误,导致Oracle 10g安装失败,该怎么解决这样的问题呢?下面随小编一起来看看Win8电脑…

<avatar: frontiers of pandora>技术overview

https://www.eurogamer.net/digitalfoundry-2023-avatar-frontiers-of-pandora-and-snowdrop-the-big-developer-tech-interview https://www.youtube.com/watch?vLRI_qgVSwMY&t394s 主要来自euro gamer上digital foundry对于avatar的开发团队Massive工作室的采访&#xf…

iOS 启动连续闪退保护方案

版权声明:本文由刘笑江原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/79 来源:腾云阁 https://www.qcloud.com/community 一.引言 “如果某个实体表现出以下任何一种特性,它就具备…

实战Java内存泄漏问题分析 -- hazelcast2.0.3使用时内存泄漏 -- 2

hazelcast 提供了3中方法调用startCleanup:第一种是在ConcuurentMapManager的构造函数中,通过调用node的executorManager中的ScheduledExecutorService来创建每秒运行一次cleanup操作的线程(代码例如以下)。因为这是ConcuurentMapManager构造…

@SuppressLint(NewApi)和@TargetApi()的区别

转自:http://blog.csdn.NET/wbshuang09/article/details/44920549在Android代码中,我们有时会使用比我们在AndroidManifest中设置的android:minSdkVersion版本更高的方法,此时编译器会提示警告,解决方法是在方法上加上SuppressLin…

零基础自学编程前需要知道的知识

你是否适合编程?学习编程后能做什么?如何选择编程语言?有哪些免费的线上学习网站推荐?今天这篇好文将那些自学编程前需要了解和思考的问题都记录下来,希望能给那些刚刚开始或正准备自学编程的朋友们带去一些启发。 你是否适合自学编程 自学编程会是一个漫长而艰…

Eclipse设置黑色主题

1点击help--->install new software 2输入 http://eclipse-color-theme.github.com/update 3下载安装eclipse color theme插件如下图 4完成后点击windows--->preferences------>Appearance下多了一个Color Theme 5,点击选择喜欢的主题即可,也可以自己下载主…

wcf rest系列文章

http://www.cnblogs.com/artech/archive/2012/02/15/wcf-rest.html 需要注意的是,发布的服务,可以在web behavior中指定显示help页面。 http://localhost/ApplicationName/ServiceName.svc/help 需要注意的是,访问.svc的页面一定不要多加/;否…

登录:应用程序错误通知

几个月前,当我进行大型应用程序重构时,发现用于记录日志的基于log4j的代码确实令人讨厌,重复了数百次: if (LOG.isDebugEnabled()) {LOG.debug("Logging some stuff " stuff); }我想摆脱isXXXEnabled,这就…

如何分析线程转储–线程堆栈跟踪

本文是“ 线程转储”分析系列的第5部分。 到目前为止,您已经了解了线程的基本原理以及它们与Java EE容器和JVM的交互。 您还学习了HotSpot和IBM Java VM的不同线程转储格式。 现在是您深入分析过程的时候了。 为了使您能够从线程转储中快速识别问题模式,…

设计模式学习笔记(十三:原型模式)

1.1概述 用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。这就是原型模式的定义。 在某些情况下,可能不希望反复使用类的构造方法创建许多对象,而是希望使用该类创建一个对象后,以该对象为原型得到该对象的若干个…

翻译的一篇关于学习编程语言的小文章

Top programming languages to get a job in Toronto in 2017 在程序开发人员和软件工程师中最容易被提及的问题之一就是:“我要学的下一门编程语言该是谁?” 我想去选一个编程语言,我希望你能给我一些关于经常使用到的编程语言的建议&#x…

从linux内核启动,学习Linux内核启动过程:从start_kernel到init

一、实验步骤:1:运行menuos:a)cd LinuxKernel/b)qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img启动后启动了MenuOS。2:使用gdb调试跟踪menuos内核启动和运行过程;a)qemu -kernel linux-3.18.6/arch/x86/bo…