我今天對JavaFX的了解

如果您沒有聽說過,JavaFX 2是Java的新Desktop / web / client框架。 自JavaFX 1以來,它已經進行了相當大的改動(坦率地說,效果并不那么令人印象深刻)。 自定義腳本語言已經淘汰了,您可以使用標準Java和基于XML的語言來編寫實際的UI演示文稿。

因此,今天,我和一個朋友在我們的一個地方聚在一起,教自己一點JavaFX。 這是我們學到的東西,首先要做一些牛削皮工作:

  1. 首先,安裝JavaFX開發人員預覽– 在此處獲取
  2. 您必須將其解壓縮,然后將生成的目錄放置在合理的位置,以root命名。
  • 我把它放在/usr/local/javafx-sdk2.1.0-beta/
  • 接下來,您將需要一個IDE與之配套
    • Netbeans是JavaFX 2中最先進和可用的IDE
    • 您想要Netbeans 7.1 RC2
  • 要將其安裝在Mac上,您需要JavaForMacOSX10.7.dmg –官方Apple Java的較低版本都不能使用,并且OpenJDK構建也不起作用(即使它是正確的版本或更高的版本)
  • 安裝完成后,Netbeans可以與其他JRE正常工作(我主要是在Java 7 Developer Preview上運行它)
  • 要啟動新的JavaFX項目,您需要告訴NetBeans在哪里可以找到JavaFX。 為此,您需要創建一個新的JavaSE平臺概要文件,并手動添加JavaFX依賴項。
  • 安裝后,我們便開始正確使用JavaFX。 我們今天的項目是嘗試在JavaFX中復制Victor Grazi的一些并發動畫,既可以自學JavaFX技術,又可以創建一些教學工具作為輸出。

    • JavaFX使用Application作為主要類進行子類化
    • API文檔在這里

    如果您完成了任何Flex開發,JavaFX看起來將非常自然。 例如

    1. FXML文件提供UI和布局
    2. 頂級FXML元素具有fx:controller屬性,該屬性定義了此View的Control
    3. FXML元素綁定到控制器類中包含的成員,這些成員已使用@FXML注釋進行了注釋
    4. fx:id屬性用于定義綁定到FXML元素的成員的名稱
    5. 綁定也發生在方法上。 例如,按鈕綁定使用onAction處理程序,例如: onAction="#isFutureDone"
    6. #methodName語法用于說明按下按鈕時應調用哪種方法。

    由此,您很容易開始構建基本應用程序。 我們發現了一些東西:

    1. UI線程很容易綁定。 永遠不要直接從Control對象調用阻塞方法,因為在UI線程上觸發此代碼路徑將導致顯示器掛起。
    2. 小心吞咽異常。
    3. 如果對象中有一個方法正在更新UI元素,但未使用@FXML注釋,則更新后似乎需要在UI元素上調用requestLayout() 。 我們不確定為什么要深入了解-如果您知道原因,請告訴我們。
    4. 該框架似乎使用自定義類加載將FXML文件轉換為對象的“場景圖”,似乎有點像Spring的工作方式。

    總體而言,我們的簡短hack會議給我們留下了深刻的印象。 這些API看起來很干凈,框架的總體設計也很合理。 存在一些穩定性問題,但這是Mac上的尖端技術-JDK和JavaFX運行時都是Developer Previews。

    我們一定會再次使用JavaFX做更多的事情,并期待看到它成熟并成為Java客戶端開發的完全受支持的OSS框架。

    參考: 我今天從我們的JCG合作伙伴 Martijn Verburg在Java 7開發人員博客 中學到的關于JavaFX的知識 。

    相關文章 :

    • 從JavaFX 1.3遷移到JavaFX 2.0
    • JavaFX 2.0 beta示例應用程序和思考
    • JavaOne正在重建動力
    • 有時在Java中,一個布局管理器是不夠的

翻譯自: https://www.javacodegeeks.com/2012/01/what-i-learnt-about-javafx-today.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373998.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373998.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373998.shtml

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

相關文章

怎么解決xp系統不能安裝NET Framework4.0?

.net 4.0安裝不上解決方法: 引用 9 樓 MoreQuestion 的回復: 全部都不行!就是用360軟件管家安裝那個就可以了。用了樓主的方法,果然可行啊 1.先安裝wic。 2.用360安裝.net40 本帖最后由 不懂 于 2014-6-6 00:56 編輯Windows Server 2003 如何…

C++內聯(inline)函數

內聯函數 內聯函數是一種特殊類型的函數,內聯函數在定義或聲明時前面加上“inline”關鍵字。比如: inline int max(int a,int b) { return (a>b)?a:b; } 內聯(inline)是內聯擴展(inline expansion)的簡…

我的python學習筆記全集_記錄我的Python學習筆記

不想再像以前那樣,什么都從頭開始學習語法、總結語法,這樣反而會過分糾結于語法,耽誤了開發,畢竟語言的主要屬性是工具,次要的屬性是語言本身。所以還是先熟練使用語言去進行開發,等足夠熟悉了,…

HDU 5794:A Simple Chess(Lucas + DP)

題目鏈接:http://acm.split.hdu.edu.cn/showproblem.php?pid5794 題意:讓一個棋子從(1,1)走到(n,m),要求像馬一樣走日字型并只能往右下角走。里面還有r個障礙點不能經過或者到達&am…

php源碼分析之PHPAPI宏的作用

在PHP源碼中,我們經常會看到很多函數前面有個PHPAPI,但這是什么呢? 于是我在php源碼/main/php.h中找到了它的定義 #ifdef PHP_WIN32 # include "tsrm_win32.h" # include "win95nt.h" # ifdef PHP_EXPORTS # …

15分鐘內開始使用Amazon Web Services和全自動資源調配

在等待一個新項目時,我想學習一些有用的東西。 而且由于在許多項目中我們需要評估和測試正在開發的應用程序的性能,而很少有足夠的硬件來生成實際負載,因此我決定學習更多有關按需在云中按需配置虛擬機的知識,即Amazon Web Servic…

解析JVM內存區域組成

在方法(代碼塊)中定義一個變量時,java就在棧中為這個變量分配JVM內存空間,當超過變量的作用域后,java會自動釋放掉為該變量所分配的JVM內存空間;而在堆中分配的JVM內存由java虛擬機的自動垃圾回收器來管理。…

python打開瀏覽器后帶cookie_Python爬蟲使用瀏覽器的cookies:browsercookie

很多用Python的人可能都寫過網絡爬蟲,自動化獲取網絡數據確實是一件令人愉悅的事情,而Python很好的幫助我們達到這種愉悅。然而,爬蟲經常要碰到各種登錄、驗證的阻撓,讓人灰心喪氣(網站:天天碰到各種各樣的爬蟲抓我們網…

VS插件開發

參考資料: VS插件開發 - 個性化VS IDE編輯器 自己動手編寫一個VS插件(一) VS Addin插件基本開發入門 VS Addin插件配置、部署 轉載于:https://www.cnblogs.com/wangwangfei/p/5830081.html

使用AspectJ,Javassist和Java Proxy進行代碼注入的實用介紹

靜態地或在運行時將代碼片段注入已編譯的類和方法中的功能可能會很有幫助。 這尤其適用于在沒有源代碼的第三方庫中或在無法使用調試器或探查器的環境中對問題進行故障排除。 代碼注入對于處理涉及整個應用程序的問題(例如性能監視)也很有用。 以這種方式…

Java中的變量

java類的成員變量有兩種:一種是被static關鍵字修飾的變量,叫類變量或者靜態變量;另一種沒有static修飾,為實例變量。 在語法定義上的區別:靜態變量前要加static關鍵字,而實例變量前則不加。 在程序運行時的…

無限漫游

一、FAT AP架構下,AP設備不做認證時: (1) AP1,AP2正常工作,發送Beacon幀,向STA通告支持的無線服務; (2) STA搜索到AP1的信號,向AP1發Probe Request,請求獲取AP1所提供的無線服務;AP…

uni-app內置地圖軌跡_MIUI11 新增親情守護,支持安全圍欄、運動軌跡功能

點擊右上角關注我們,每天給您帶來最新最潮的科技資訊,讓您足不出戶也知道科技圈大事!日前,小米 MIUI 體驗總負責人 MIUI小凡 在微博上為大家預告了 MIUI11 的新特性「親情守護」,并表示「在親情守護中,我們…

:before與:after偽類的應用

1.小三角樣式 .tip{ position:relative; display:inline-block; width:100px; margin:100px; padding:30px 20px; color:#fff; border:1px solid #666; border-radius:5px; background-color:rgba(0,153,51,1);}.tip:before{ content:; posit…

小心重載API方法

重載方法是API設計中的重要概念,尤其是當您的API是流利的API或DSL( 特定于域的語言 )時。 對于jOOQ就是這種情況,在這種情況下,您經常想使用與完全相同的方法名稱來與庫進行各種交互。 示例:jOOQ條件 pac…

phpcms 下載模型列表頁直接點擊下載

下載模型設置本地下載 列表頁模板直接調用 <article class"prjDown"><p class"prjDownTitle">方案下載</p><nav class"prjDownNav"><ul>{pc:content action"lists" catid"$catid" num"3…

為什么Java中類方法不能訪問實例方法

我們已經知道類體中的方法分為實例方法和類方法兩種&#xff0c;用static修飾的是類方法。二者有什么區別呢&#xff1f;當一個類創建了一個對象后&#xff0c;這個對象就可以調用該類的方法。 當類的字節碼文件被加載到內存時&#xff0c;類的實例方法不會被分配入口地址&…

python展開 c函數中的宏預處理_C中的預處理宏

C中的預處理宏宏定義就屬于預處理命令的一種。那么&#xff0c;什么是宏呢&#xff1f;宏&#xff1a;c語言標準允許在程序中用一個標識符來表示一個字符串。標識符就是宏名。宏替換&#xff1a;宏替換就是宏定義。在編譯預處理中&#xff0c;將程序中所有的宏名用相應的字符串…

(轉) 中斷處理程序中斷服務例程

關于中斷處理程序和中斷服務例程ISR的區別及聯系&#xff0c;之前一直搞混&#xff0c;今天抽時間將兩者關系弄弄清楚。ok,下面進入主題。首先中斷處理程序(Interrupt Handler)和中斷服務例程ISR(Inerrupt Service Routine)是兩個不同的概念.簡單來說就是&#xff0c;一條中斷線…

使用SQL:2003 MERGE語句的奧術魔術

時不時地&#xff0c;由于以下任何原因&#xff0c;我們不得不將INSERT與UPDATE區分開來感到尷尬&#xff1a; 我們必須至少發表兩個聲明 我們必須考慮性能 我們必須考慮比賽條件 我們必須在[UPDATE; 如果UPDATE_COUNT 0 THEN INSERT]和[INSERT; 如果例外然后更新] 我們必…