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.pswp.cn/news/372135.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372135.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372135.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matlab空格會消失了,如何在Matlab中自動刪除保存的尾隨空格?

我有同樣的需求,并寫了一個小腳本來做一些接近的事情.將以下內容放在MATLAB desktop shortcut中.每當您單擊快捷方式按鈕時,它將從編輯器中的活動文件中刪除尾隨空格.不如在保存時自動執行它 – 你需要記住在保存之前按下按鈕 – 但差不多.測試在11b,12a和13b,但在12b也應該沒問…

object to 字符串json

1 package com.beijxing.TestMain;2 3 import com.beijxing.entity.Student;4 import com.google.gson.Gson;5 import com.google.gson.annotations.SerializedName;6 7 /** 8 * 9 * author 作者 : ywp 10 * version 創建時間:2016年10月30日 下午9:21:33 11 */ 12…

JS 對象(Object)和字符串(String)互轉

var jsObj {}; jsObj.testArray [1,2,3,4,5]; jsObj.name CSS3; jsObj.date 8 May, 2011; var str JSON.stringify(jsObj); var str1 JSON.parse(str); var str2 JSON.stringify(str1);alert(str);alert(str1); alert(str2);對象拷貝:var newObj JSON…

php 后退按鈕事件,php – 后退按鈕的會話問題

我在php文件中有這個代碼,它包含在我要共享的所有頁面中并保護我的頁面.session_name("login");session_start();if (!isset($_SESSION[UserId])) {if(!header("Location: https://subdomain.mywebsite.com/")){ die("Unauthorized access"); }}…

異常:java lang AbstractMethodError

通常在嘗試調用抽象方法時拋出此java.lang.AbstractMethodError。通常,此錯誤是在編譯時本身識別的,如果在運行時拋出此錯誤,則該類必須不兼容(與先前存在的類不兼容) )更改。因此,它是Incompat…

05.while循環的練習

練習1:namespace _05.while循環練習01{ class Program { static void Main(string[] args) { //打印100次"努力學習.net技術" int i 0; while (i < 100) //當i小于100就執行循環體的內容 { Console.WriteLine("{0}.努力學習.net技術",i); i; } Console…

oracle列分區,Oracle數據庫分區--實例

分區表通過對分區列進行判斷&#xff0c;把滿足不同條件的分區列對應的記錄保存在不同的分區中。一、何為分區表什么情況下會使用分區表&#xff1f;表中已有大量數據&#xff0c;或預計到表中將會保存大量的數據可以按照預期(月份、區域、dml)對表中的數據執行查詢和更新什么是…

ZK實際應用:MVVM –與ZK客戶端API一起使用

在之前的文章中&#xff0c;我們使用ZK的MVVM實現了以下功能&#xff1a; 將數據加載到表中 使用表單綁定保存數據 刪除條目并以編程方式更新視圖 ZK MVVM和ZK MVC實現方式之間的主要區別是&#xff0c;我們不直接在controller&#xff08;ViewModel&#xff09;類中訪問和操…

RPC框架Dubbo分析

1&#xff0c;背景隨著互聯網的發展&#xff0c;網站應用的規模不斷擴大&#xff0c;常規的垂直應用架構已無法應對&#xff0c;分布式服務架構以及流動計算架構勢在必行&#xff0c;亟需一個治理系統確保架構有條不紊的演進單一應用架構當網站流量很小時&#xff0c;只需一個應…

定時器、計時器。

//第一種 每一秒執行一次&#xff08;重復性&#xff09;double delayInSeconds 1.0;timer dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0));dispatch_source_set_timer(timer, DISPATCH_TIME_NO…

mybatis oracle trim,Mybatis trim標簽

trim代替where/set標簽trim是更靈活用來去處多余關鍵字的標簽&#xff0c;它可以用來實現where和set的效果。SELECT *FROM user uu.username LIKE CONCAT(CONCAT(%, #{username, jdbcTypeVARCHAR}),%)AND u.sex #{sex, jdbcTypeINTEGER}AND u.birthday #{birthday, jdbcTypeD…

自己初學時的隨筆記錄

如果富文本編輯器 jsp....文件可以找到但是就是顯示不出來&#xff0c;可能是Controller控制器中RequestMapping后邊沒有寫路徑 ---------------------------------------------------------------------------------------------------------------------------- iframe框架內…

終極JPA查詢和技巧列表–第1部分

我們可以在Internet上找到一些JPA“如何做”&#xff0c;在本博客的此處&#xff0c;教您如何使用JPA執行多項任務。 通常&#xff0c;我看到有人問有關使用JPA進行查詢的問題。 通常&#xff0c;為了回答此類問題&#xff0c;提供了幾個鏈接&#xff0c;以嘗試找到該問題的解決…

請求重定向(網上抄錄)

抄錄地址 http://www.sosuo8.com/article/show.asp?id1158 (1)Server.Transfer方法: Server.Transfer("m2.aspx");//頁面轉向(服務器上執行). 服務器停止解析本頁,保存此頁轉向前的數據后,再使頁面轉向到m2.aspx, 并將轉向前數據加上m2.aspx頁結果返回給瀏覽器. (…

oracle走當前時間分區,Oracle分區使用波斯日歷的時間間隔

與數據庫級NLS_CALENDAR相比&#xff0c;沒有其他方法可以在不同的日歷中定義間隔。通過使用虛擬列劃分每個日期落入的(波斯)月份的數字表示&#xff0c;可以得到相同的效果&#xff1a;create table test_temp_times (id number(18) not null,xdate date not null,str varchar…

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

這是Spring Integration Session 1的后續活動 第一部分是使用Spring Integration的簡單Hello World應用程序。 我想通過考慮其他一些方案來進一步介紹它。 因此&#xff0c;對Hello World應用程序的第一個更改是添加網關組件。 要快速重新訪問較早的測試程序&#xff0c;請執行…

Python中Dict的查找

Dict的類型的查找使用的是lookdict函數 static PyDictKeyEntry * lookdict(PyDictObject *mp, PyObject *key,Py_hash_t hash, PyObject ***value_addr) 函數的參數中&#xff0c;*value_addr是指向匹配slot中值的指針。 這個函數在正確的情況下一定會返回一個指向slot的指針&a…

文字特效代碼大全

代碼收集來源于網絡博友,感謝博友提供,本人只收集,整理,說明. 1.刪除線:<FONT style"TEXT-DECORATION: line-through">寫上你想寫的字</FONT> 效果如下 寫上你想寫的字 2.文字頂部加橫線:<font style"text-decoration:overline">寫上你想…

oracle 會話實例,返璞歸真:Oracle實例級別和會話級別的參數設置辨析

楊廷琨(yangtingkun)云和恩墨 CTO高級咨詢顧問&#xff0c;Oracle ACE 總監&#xff0c;ITPUB Oracle 數據庫管理版版主參數文件是Oracle數據庫文件中級別最低&#xff0c;也是最基本的文件&#xff0c;但是也是數據庫實例啟動第一個涉及的文件。如果參數文件缺失或者某些參數設…

ExtJs CheckboxSelectionModel 全選操作后 清空表格頭的checkBox

關鍵代碼&#xff1a; var hd Ext.getCmp("interviewSubscriptionGrid").getEl().select(div.x-grid3-hd-checker).first(); if (hd.hasClass(x-grid3-hd-checker-on)) { hd.removeClass(x-grid3-hd-checker-on); } 轉自&#xff1a;ExtJs Checkbox…