說明:就如同標題一樣,前端會用到JavaFX、Swing、Java Web Start、Google Map 的技術,

後端就是JDBC、Servlet的技術,以及我們會簽署認證jar檔案,這樣才可存取客戶端(ex:執行命令,存檔等等),

以這樣的架構其實很容易就可以讓我們開發各式各樣的系統,當然你得發揮你的創意,其中的一項重點就

是servlet與前端互傳的Serial物件,你可以將他寫入資料庫的欄位,這樣每當你的客戶端需求有變動時,

隨時可新增刪減欄位,不必還得在資料庫的表格再新增或刪減一個或多個欄位,當然你存入資料庫的Serial

物件的欄位必須設定好足夠的空間(可用比較大型資料type如blob,clob等等或自訂type),確實也以

此架構幫公司設計了一些系統,覺得還不錯用,介紹給大家。

  1. 學習JavaFX Script語法的網址 http://java.sun.com/javafx/1/tutorials/core/

  2. 學習如何建立JavaFX GUI的網址 http://java.sun.com/javafx/1/tutorials/ui/

  3. 步驟1跟2是基礎,各位學JavaFX一定要先看。

  4. 下載 JavaFX 1.2 SDK,到網址 http://javafx.com/downloads/windows.jsp 
    選 JavaFX 1.2 SDK,下載及安裝。
  5. 在寫 javafx 前,我們要先下更新javafx 開發元件,選menu的Tools--->Plugins

    如下圖,點tab的Available Plugins,在search欄位打入javafx搜尋字,出現3

    個plugins,全選,然後按Install按鈕安裝 

  6. 選meun,File-->New Project,如下圖,建置一個JavaFX Project,按Next鈕 

如下圖,Project Name輸入jdbcfx,Project Location我的是C:\netbeans,其他預設即可,而

Create Main File我們輸入jdbcfx.fx.Main(多加個package name fx,為了好區分而已),這個

Main.fx檔是我們要Run這個jdbcfx Project時的主要啟動檔案,檔案名稱你可自己設,不一

定要Main.fx,不過我們這用預設即可,按Finish鈕 

然後在將我附上的原始檔Main.fx全部覆蓋複製進來,此時會有錯誤,因為有些檔案還沒建

立,先忽略,之後再一步一步建立。

那要如何建立JavaFX的GUI呢?如下圖展開右邊Palette,選Swing Components的Button元

件,拉到TextEditor,我們在程式碼裡設一個變數button1,其type為SwingButton

(var button1:SwingButton =),將button元件拉到等號右邊,然後設定Button的text屬性及動

作的方法,各種元件的詳細操作使用方式,各位一定要先看完步驟1及2,才能了解如何去

使用它們。

如下圖,再建立JavaFX Class檔,File Name輸入FlipView,Package輸入jdbcfx.fx,

按Finish鈕

 

然後再將我附上的原始檔FlipView.fx複製進來即可。

  1. 接下來我們需要建立Swing GUI,由於我的GUI是由Eclipse IDE所建立,所以在這

    我們直接以建立Java Class方式複製進來,如下圖,當然你也可以選擇JPanel Form的

    方式建立Swing GUI,注意我們的Swing GUI必須是繼承自JComponent類別,才可

    用JavaFX API所提供的SwingComponent類別的方法wrap包裹進來,而JFrame不是

    ,所以無法用SwingComponent類別提供的方法,不過大部分的Swing GUI均可使用

    SwingComponent類別來轉換,所以JavaFX還是可以使用大部分的Swing GUI,

    如下圖:Class Name輸入MyJTableJP,Package輸入jdbcfx.java,按Finish鈕 
     
     
    在將我附上的原始檔MyJTableJP.java複製進來即可。

  1. 以上的步驟只是要讓各位了解如何在JavaFX Project裡建javafx script檔及java檔,

    以及如何建JavaFX的GUI,注意要加入library,cos.jar前端傳送序列物件用,加入

    方式參考上一篇步驟8,我會附上我建的NetBeans Project,稍後各位只要使用

    NetBeans開啟project即可,如你要一步一步建檔,就請依照上列步驟建立。

  2. 程式碼說明:(這部分網頁顯示的有點亂,請參考下載文件)

    jdbcfx netbeans project 程式碼如下(包含package name)

    jdbcfx

    |--- fx

    \--- FlipView.fx

\--- Main.fx

|--- java

\--- MyJTableJP.java

\--- TableHelper.java

yj

|--- db

\--- MyDataSerial.java

\--- MyJTableJP_Model.java

salary netbeans project 程式碼如下(web project,包含 package name)

yj

|--- db

\--- MyDataSerial.java

\--- MyJTableJP_Model.java

|--- servlet

\--- DataIUS_Servlet.java

\--- GenGraphic_Servlet.java

\--- GenMapfile_Servlet.java

|--- dbutility

\--- DB_Utility.java

以上是兩個project程式碼的清單,底下在逐一說明各程式碼主要功能,但詳細說明

還是請參考程式碼的註解。

  1. jdbcfx project部分

    jdbcfx.fx.FlipView.fx:

    主要功能是讓我們動態產生的統計圖檔(長條圖跟圓餅圖),作翻轉切換。

    jdbcfx.fx.Main.fx:

    這是這整個程式的進入點,類似java application 的 main function。

    jdbcfx.java.MyJTableJP.java

    這是個swing component Jpanel,裡面有放入JTable,這樣我們才可輕而一舉的在

    javafx的script使用swingcomponent 的 wrap 方法將其轉成SwingComponent type

    的元件。

    jdbcfx.java.TableHelper.java:

    主要功能是讓我們可以在javafx script建立MyJTableJP的type的物件。

yj.db.MyDataSerial.java:

這是我們前後端傳送的 serial 物件。

yj.db.MyJTableJP_Model.java:

這是MyJTableJP裡的JTable所用的TableModel。

salary web project部分

yj.db.MyDataSerial.java:

同上。

yj.db.MyJTableJP_Model.java:

同上。

yj.db.servlet.DataIUS_Servlet.java

主要功能為對資料庫資料表作新增刪除修改的動作。

yj.db.servlet.GenGraphic_Servlet.java

主要產生長條圖跟圓餅圖檔(bar.png,pie.png)。

yj.db.servlet.GenMapfile_Servlet.java

主要是動態產生Googel Map的相對應員工家地址的地圖html檔。

yj.db.servlet.dbutility.DB_Utility.java

jdbc的設定檔,這支程式是針對SQL Server 2000,如果你的是其他DataBase Server,

請參考其他相關db server jdbc的設定。

下一篇將介紹部署及應用,未完待續~~~

JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (2):JavaFX建立及程式碼說明 (转帖)的更多相关文章

  1. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet (转帖)

    JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet 功能:這支程式的主要功能是將 javafx 與 swi ...

  2. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (3):部署設定及應用 (转帖)

    說明:這一篇主要是說明如何將程式部署到Application Server,以及程式如何運作,產生的檔案置於何處,以及如何以瀏覽器呈現(Applet),或是當成桌面應用程式,或是 桌面Applet,這 ...

  3. [Xamarin.Android] 結合Windows Azure與Google cloud message 來實現Push Notification (转帖)

    這一篇要討論如何使用Xamarin.Android 整合GCM以及Windows Azure來實作Android手機上的推播通知服務. 這篇文章比較著重概念的部分,在開始讀這篇之前,也可以先參考一下X ...

  4. CONCATENATE命令(文字列の結合)

    CONCATENATE命令とは文字列の結合を行う命令である.文字列を扱うChar, Numeric, Dats, Time, Stringの変数で使用する事が可能だ.単純に文字列の結合のみを行う方法. ...

  5. 如何在Google Map中处理大量标记(ASP.NET)(转)

    如何在Google Map中处理大量标记(ASP.NET)(原创-翻译) Posted on 2010-07-29 22:04 Happy Coding 阅读(8827) 评论(8) 编辑 收藏 在你 ...

  6. [Xamarin.Android] 如何使用Google Map V2 (转帖)

    Google Map v1已經在2013年的3月開始停止支援了,目前若要在你的Android手機上使用到Google Map,就必須要使用 到Google Map v2的版本.在Xamarin要使用G ...

  7. Google Map API Version3 :代码添加和删除marker标记

    转自:http://blog.sina.com.cn/s/blog_4cdc44df0100u80h.html Google Map API Version3 教程:在地图 通过代添加和删除mark标 ...

  8. Google Map API V3开发(1)

    Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...

  9. Google Map API V3开发(2)

    Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...

随机推荐

  1. Daily Scrum 12.17

    今日完成任务: 解决匿名回答时候字数限制问题:完善了用户界面的UI设计: 明日任务: 孙思权 接口设计 晏旭瑞 资源索引问题 冯飘飘 解决上传资源时候不勾选或不添加选项内容可以上传的问题 黎柱金 进行 ...

  2. svn没有对号等符号的问题

    文件夹--右键->TortoiseSVN->Settings  => 弹出一个对话框,在对话框中左边框中有一个Icon Overlays->Overlay Handlers   ...

  3. axure设置变量值

    以登录框为例设置axure变量值 1.打开axure,打开新页面命名为login,拖入一个矩形背景,命名:登录背景图 2.拖入标签控件和输入框控件分别命名为用户名:.userName.密码:.pass ...

  4. 总结30个CSS选择器

    或许大家平时总是在用的选择器都是:#id  .class  以及标签选择器.可是这些还远远不够,为了在开发中更加得心应手,本文总结了30个CSS3选择器,希望对大家有所帮助. 1 *:通用选择器 * ...

  5. 关于Java深clone 的例子学习

    之前http://www.cnblogs.com/lhppom/p/4857702.html里有提到关于Java的深克隆的学习,深浅区别就是在于仅复制对象引用和复制对象引用所指向的对象,最近在看< ...

  6. CodeForces 743A Vladik and flights (水题)

    题意:sb要从a到b,然后要乘坐飞机,只有两家有飞机,如果乘坐同一家的,就免费,如果不是就收到abs(j-i) 的费用,问你最少花费是多少. 析:直接考虑a和b是不是同一家的,如果是,花费为0,如果不 ...

  7. CodeForces 742A Arpa’s hard exam and Mehrdad’s naive cheat

    题意:求1378 n次幂的最后一位. 析:两种方法,第一种,就是快速幂,第二种找循环节,也很好找,求一下前几个数就好. 代码如下: #pragma comment(linker, "/STA ...

  8. .Net Web项目安装包制作 (一)

    来源:http://www.cnblogs.com/huxj/archive/2010/09/10/1823637.html

  9. 黑马程序员_Java基础:集合总结

    ------- android培训.java培训.期待与您交流! ---------- 一.集合概念 相信大家都知道,java是一门面向对象的编程语言,而对事物的体现都是以对象的形式,所以为了方便对多 ...

  10. Xcode自定义Eclipse中常用的快捷键

    转载自http://joeyio.com/2013/07/22/xcode_key_binding_like_eclipse/ Xcode自定义Eclipse中常用的快捷键 22 July 2013 ...