成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java富客戶端平臺JavaFX:創建框架實戰

開發 后端
JavaFX平臺是Java客戶端平臺的演進,用于幫助程序開發人員快速創建和部署富客戶端應用程序,實現跨平臺的一致性。JavaFX平臺基于Java技術,提供了一系列的圖表和多媒體API,用于簡化數據驅動的企業客戶端應用程序的開發。

2007年JavaOne大會上***對外發布JavaFX,時隔三年之后,2010年JavaOne大會重點強調了Oracle針對Java平臺的計劃。未來JavaFX希望在渲染方面具備通用的抽象能力,無論是針對Java 2D/OpenGL/Hospot VM框架或是Javascript/HTML5/Web瀏覽器框架,都可以使用同樣的API來實現。

JavaFX最早有兩個主要的組成部分:JavaFX腳本和JavaFX移動。JavaFX的核心是JavaFX腳本,它是一種聲明型的腳本語言。它與Java類保持了高度的交互性。JavaFX移動(JavaFX Mobile),是用來為移動設備開發Java應用的平臺。然而,后來Oracle宣布了JavaFX腳本被廢棄,替換它的是一種新的Java API,用來構建JavaFX應用,當然,也可能從類似JRuby,Clojure,Scala和Groovy等語言中選取代替者。正當我猶豫是否將學習重心轉移到JavaFX上時,2011年JavaFX的發展前景給我注入了一種強心劑,讓我下定決心來好好學些JavaFX2.0。

2011年在JavaOne大會上,Oracle秉承一個理念,為了追求JavaFX的標準化,Oracle推出了JavaFX 2.0,為企業業務應用提供先進的Java用戶界面(UI)平臺,致力于把Java變成***的富客戶端平臺。未來預計將對JavaFX平臺實現開源,使其成為OpenJDK社區的新項目。

一、什么是JavaFX?

JavaFX平臺是Java客戶端平臺的演進,用于幫助程序開發人員快速創建和部署富客戶端應用程序,實現跨平臺的一致性。JavaFX平臺基于Java技術,提供了一系列的圖表和多媒體API,用于簡化數據驅動的企業客戶端應用程序的開發。

對于Java開發人員而言,JavaFX平臺具有以下優勢:

1、由于JavaFX平臺是用Java語言編寫的,Java開發人員可以充分利用他們已有的技能和工具來開發JavaFX應用程序。

2、由于Java被廣泛使用,有經驗的Java開發人員能夠快速高效地開發JavaFX應用程序。

3、通過使用服務器和客戶端平臺上的Java技術,JavaFX平臺通過減少業務解決方案的復雜性來減低了投資風險。

4、基于以上幾點優勢,開發費用也有所減低。

5、JavaFX平臺為廣大開發人員提供了開發框架和運行時環境,用于創建企業業務應用程序,同時支持Java實現跨平臺。

二、JavaFX現狀發展: JavaFX 2.0發布

在JavaOne 2011大會上,甲骨文在宣布推出Windows 平臺上的JavaFX 2.0版本的同時,也發布了Mac OS X平臺上的開發者預覽版JavaFX 2.0。

JavaFX 2.0 是 JavaFX 一個主要的升級版本,為下一代的 UI 平臺而設計,提供強大的基于Java 的UI 設計能力,可處理大規模數據驅動的商業邏輯。JavaFX 2.0 包含非常豐富的UI 控件、圖形和多媒體特性,可用于簡化可視化應用的開發,新增的 WebView 可直接在應用中嵌入網頁;另外 2.0 版本允許使用 FXML 進行 UI 定義,這是一個腳本化基于XML 的標識語言。

JavaTM SE 7 Update 2 包含了新的JVM,用來提高可靠性和性能,支持Oracle Solaris 11和Firefox 5以及更高版本。Java SE包含了JavaFX,Java JDK包含了JavaFX SDK以及JavaFX運行時環境。

本月初適用于Windows平臺上的JavaFX 2.1開發者預覽版可供下載,該版本包含了新的圖表和復合框控件。

三、如何創建應用程序框架

JavaFX應用程序都有一個相似的框架。Main()函數調用Launch()函數,Start()方法用于設置應用程序的UI設計。

如何使用NetBeans 7.1來創建JavaFX項目

1、下載安裝JavaFX 2.0 SDK。我安裝文件的默認路徑是C:\Program Files\Oracle\JavaFX 2.0 SDK、C:\Program Files\Oracle\JavaFX Runtime 2.0.

雖然通過命令行的方式可以運行JavaFX應用程序,但是我準備用NetBeans來構建我的***個程序。NetBeans 7.1 beta支持JavaFX 2.0,而JavaFX 2.0 SDK需要單獨下載。

我下載了NetBeans 7.1 beta所有版本,因為Java SE、JavaFX都能支持Groovy、Java EE、PHP以及C/C++來創建桌面、Web以及移動應用程序。目前的NetBeans IDE支持Windows、 Mac、Linux 以及 Oracle Solaris平臺。它支持Java平臺中的***規則和標準。而且,NetBeans IDE 7.1 Beta除了支持Java標準外,還支持JavaFX 2.0,并且對JavaFX 2.0應用程序可以進行完整的編譯、調試和監測。

2、在NetBeans 7.1中創建了一個新的JavaFX項目。創建項目有兩種方法。

“CTRL+SHIFT+N”

右鍵“項目”選項卡,選擇“新建項目”

注:***次在新安裝的NetBeans 7.1beta版本中創建JavaFX項目時需要激活。

3、一旦點擊“完成”按鈕創建完JavaFX項目后,就會生成三個文件。這些文件包括HelloJavaFX.java、Sample.java以及 Sample.fxml。

在項目上點擊“生成”按鈕后,就可以看到NetBeans 7.1 beta生成什么樣的文件。

在'dist'目錄下,可以使用JAR和JNLP文件來生成HTML文件。

四、如何使用內置的布局面板

JavaFX應用程序支持手動設置UI布局,可以為每個UI元素來設置合適的位置和大小屬性,而最簡單的方法是充分利用布局面板。JavaFX SDK提供了幾個布局容器類,稱之為面板,用于輕松創建和管理一些經典的布局,比如行、列、棧等。作為調整后的窗口,布局面板可以根據節點的屬性來靈活自動調整位置和大小。

使用JavaFX提供的布局面板如下:

1、BorderPane

BorderPane布局面板提供了五個區域來放置節點:上下左右中。圖1-1顯示了布局類型,可以用來創建邊框面板,可以靈活調整區域大小。

邊框面板可以用于創建頂部經典的工具條,底部狀態欄,左端導航欄面板,右邊額外信息,中間的工作區。

以下代碼為如何在每個區域里創建一個多邊形邊框面板

  1. Example 1-1 Create a Border Pane  
  2.  
  3. BorderPane layout = new BorderPane();  
  4. layout.setTop(new Rectangle(20050, Color.DARKCYAN));  
  5. layout.setBottom(new Rectangle(20050, Color.DARKCYAN));  
  6. layout.setCenter(new Rectangle(100100, Color.MEDIUMAQUAMARINE));  
  7. layout.setLeft(new Rectangle(50100, Color.DARKTURQUOISE));  
  8. layout.setRight(new Rectangle(50100, Color.DARKTURQUOISE)); 

2、Hbox

Hbox布局面板提供了一種簡單的方法來調整單行中的節點。

Padding屬性可以用來設置節點和Hbox面板之間的間距。Spacing屬性可以用來管理節點之間的距離。可以調整背景色來調整風格。

以下示例為使用Hbox面板來創建一個工具條,包含兩個按鈕

  1. Example 1-2 Create an HBox Pane  
  2.  
  3. HBox hbox = new HBox();  
  4. hbox.setPadding(new Insets(15121512));  
  5. hbox.setSpacing(10);  
  6. hbox.setStyle("-fx-background-color: #336699");  
  7.  
  8. Button buttonCurrent = new Button("Current");  
  9. buttonCurrent.setPrefSize(10020);  
  10.  
  11. Button buttonProjected = new Button("Projected");  
  12. buttonProjected.setPrefSize(10020);  
  13. hbox.getChildren().addAll(buttonCurrent, buttonProjected);  
  14.  
  15. BorderPane border = new BorderPane();  
  16. border.setTop(hbox);  

3、VBox

VBox布局面板與Hbox布局面板相似。Padding屬性可以用來調整節點和VBox面板邊緣的間距。Spacing屬性用于調整節點之間的間距。

  1. Example 1-3 Create a VBox Pane  
  2.  
  3. VBox vbox = new VBox();  
  4. vbox.setPadding(new Insets(10101010));  
  5. vbox.setSpacing(10);  
  6.  
  7. Text title = new Text("Data");  
  8. title.setFont(Font.font("Amble CN", FontWeight.BOLD, 14));  
  9. vbox.getChildren().add(title);  
  10.  
  11. Text options[] = new Text[] {  
  12. new Text(" Sales"),  
  13. new Text(" Marketing"),  
  14. new Text(" Distribution"),  
  15. new Text(" Costs")};  
  16.  
  17. for (int i=0; i<4; i++) {  
  18. vbox.getChildren().add(options[i]);  
  19. }  
  20.  
  21. border.setLeft(vbox); // Add to BorderPane from Example 1-2 

4、GridPane 

GridPane布局面板允許你創建一個靈活的網格,在行列中靈活調整節點的布局。 

網格可以按照需要在單元格中靈活放置節點。網格面板適用于創建由行列組成的表格,圖1-8顯示了網格面板,包含了圖標、標題、副標題、文本和餅圖。gridLinesVisible屬性可以用來顯示網格線條,顯示行和列。

  1. Example 1-5 Create a Grid Pane  
  2.  
  3. GridPane grid = new GridPane();  
  4. grid.setHgap(10);  
  5. grid.setVgap(10);  
  6. grid.setPadding(new Insets(00010));  
  7.  
  8. // Category in column 2, row 1  
  9. Text category = new Text("Sales:");  
  10. category.setFont(Font.font("Tahoma", FontWeight.BOLD, 20));  
  11. grid.add(category, 10);  
  12.  
  13. // Title in column 3, row 1  
  14. Text chartTitle = new Text("Current Year");  
  15. chartTitle.setFont(Font.font("Tahoma", FontWeight.BOLD, 20));  
  16. grid.add(chartTitle, 20);  
  17.  
  18. // Subtitle in columns 2-3, row 2  
  19. Text chartSubtitle = new Text("Goods and Services");  
  20. grid.add(chartSubtitle, 1121);  
  21.  
  22. // House icon in column 1, rows 1-2  
  23. ImageView imageHouse = new ImageView(  
  24. new Image(LayoutSample.class.getResourceAsStream("graphics/house.png")));  
  25. grid.add(imageHouse, 0012);  
  26.  
  27. // Left label in column 1 (bottom), row 3  
  28. Text goodsPercent = new Text("Goods\n80%");  
  29. GridPane.setValignment(goodsPercent, VPos.BOTTOM);  
  30. grid.add(goodsPercent, 02);  
  31.  
  32. // Chart in columns 2-3, row 3  
  33. ImageView imageChart = new ImageView(  
  34. new Image(LayoutSample.class.getResourceAsStream("graphics/piechart.png")));  
  35. grid.add(imageChart, 1221);  
  36.  
  37. // Right label in column 4 (top), row 3  
  38. Text servicesPercent = new Text("Services\n20%");  
  39. GridPane.setValignment(servicesPercent, VPos.TOP);  
  40. grid.add(servicesPercent, 32);  
  41.  
  42. border.setCenter(grid); // Add to BorderPane from Example 1-2 

五、JavaFX應用程序成功示例演示

1、Ensemble 

Ensemble提供了一系列的應用程序來展示JavaFX的不同特征,比如動畫、圖表、以及控件。

2、Sales Dashboard 

這是Henley汽車公司的一個客戶端-服務器模式的應用程序。使用JavaDB,可以在EJB服務器上模擬汽車的銷售。可以通過Derbu和web服務來獲取數據信息。通過混合使用FXML和JavaFX,客戶端可以掩飾各種不同的數據。

3、SwingInterop Sample

Swing應用程序能夠顯示如何有效組合Swing和JavaFX。它可以使用JavaFX組件在一個選項卡中實現圖表和表單,再另一個選項卡中顯示由JavaFX實現的簡單瀏覽器。

原文鏈接:http://tech.it168.com/a2011/1230/1296/000001296796.shtml

【編輯推薦】

  1. Java讀取WEB應用中的資源
  2. Java中運用數組的四種排序方法
  3. Java實現實用的ZIP壓縮與解壓
  4. Java防止SQL注入的幾個途徑
  5. Java并發編程:守護線程
責任編輯:林師授 來源: it168
相關推薦

2011-10-10 09:11:09

Java

2010-07-28 16:16:57

Flex富客戶端

2023-03-05 18:36:52

ChatGpt跨平臺ORM

2012-11-28 11:05:42

IBMdW

2018-03-28 09:04:25

Oracle Java技術

2010-03-25 08:53:43

JavaFXHTML 5

2009-04-01 13:56:20

JavaFX開發JavaFXSwing

2009-03-24 10:04:03

GrailsAjaxJava

2009-12-25 15:12:01

WPF平臺

2009-03-03 16:36:03

javafxWebSun

2009-06-23 14:00:49

JavaFX開發

2009-06-12 19:18:08

REST客戶端框架JavaScript

2012-03-27 14:34:07

Visual Stud微軟MVC

2016-04-29 10:02:39

2009-04-22 18:42:13

Vmware虛擬化英特爾

2009-07-16 11:13:50

Java Swing

2017-11-22 07:37:43

Google云端GPU

2010-08-02 16:33:11

Flex Spring

2022-05-11 13:56:08

Java項目redis客戶端

2024-11-21 16:37:30

客戶端業務解耦框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 999久久久精品 | 日韩综合| av网站免费观看 | av在线电影网站 | 欧美精品网站 | 九九热在线免费观看 | 国产日韩欧美一区 | 中文字幕在线观看一区 | 久久激情av| 久久精片| 国产精品欧美一区二区三区 | 中文区中文字幕免费看 | 日一区二区 | 奇米视频777 | 国产激情精品视频 | 中文字幕色站 | 亚洲精品9999久久久久 | 成人二区 | 一级一级毛片免费看 | 99热在线观看精品 | 国产免费福利小视频 | 正在播放国产精品 | 亚洲欧美国产精品一区二区 | 精品在线播放 | 成人深夜福利网站 | 免费在线观看毛片 | 久久精品国产免费看久久精品 | 91大神在线资源观看无广告 | 亚洲日韩中文字幕一区 | 国产一区二 | 天堂久久久久久久 | 99精品视频免费观看 | 国产精品亚洲视频 | 欧美一级小视频 | 亚av在线 | 中文字幕乱码亚洲精品一区 | 精品91久久| 亚洲免费视频在线观看 | 欧美嘿咻 | 精品久久一区二区三区 | 丝袜美腿一区二区三区 |