導航:首頁 > 編程語言 > javaswing開源

javaswing開源

發布時間:2023-06-19 02:41:43

java開源框架是什麼

Java開源項目
Spring Framework 【Java開源 J2EE框架】
Spring 是一個解決了許多在J2EE開發中常見的問題的強大框架。 Spring提供了管理業務對象的一致方法並且鼓勵了注入對介面編程而不是對類編程的良好習慣。Spring的架構基礎是基於使用JavaBean屬性的 Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構建完關注所有架構層的完整解決方案方面是獨一無二的。 Spring提供了唯一的數據訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率並且減少了可能的錯誤。Spring的數據訪問架構還集成了 Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理技術,例如JTA或者JDBC事務提供一個一致的編程模型。 Spring提供了一個用標准Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其他企業事務--如果你需要--還能實現你自己的 aspects。這個框架足夠強大,使得應用程序能夠拋開EJB的復雜性,同時享受著和傳統EJB相關的關鍵服務。Spring還提供了可以和IoC容器集成的強大而靈活的MVC Web框架。【SpringIDE:Eclipse平台下一個輔助開發插件】.
WebWork 【Java開源 Web框架】
WebWork 是由OpenSymphony組織開發的,致力於組件化和代碼重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,現在的WebWork2.x前身是Rickard Oberg開發的WebWork,但現在WebWork已經被拆分成了Xwork1和WebWork2兩個項目。 Xwork簡潔、靈活功能強大,它是一個標準的Command模式實現,並且完全從web層脫離出來。 Xwork提供了很多核心功能:前端攔截機(interceptor),運行時表單屬性驗證,類型轉換,強大的表達式語言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,處理HTTP的響應和請求。WebWork2使用ServletDispatcher將HTTP請求的變成 Action(業務層Action類), session(會話)application(應用程序)范圍的映射,request請求參數映射。WebWork2支持多視圖表示,視圖部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了對AJAX的支持,這支持是構建在DWR與Dojo這兩個框架的基礎之上.【EclipseWork:用於WebWork輔助開發的一個Eclipse插件】
Struts 【Java開源 Web框架】
Struts 是一個基於Sun J2EE平台的MVC框架,主要是採用Servlet和JSP技術來實現的。由於Struts能充分滿足應用開發的需求,簡單易用,敏捷迅速,在過去的一年中頗受關注。Struts把Servlet、JSP、自定義標簽和信息資源(message resources)整合到一個統一的框架中,開發人員利用其進行開發時不用再自己編碼實現全套MVC模式,極大的節省了時間,所以說Struts是一個非常不錯的應用框架。【StrutsIDE:用於Struts輔助開發的一個Eclipse插件】
Hibernate 【Java開源 持久層框架】
Hibernate 是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序實用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。Eclipse平台下的Hibernate輔助開發工具:【Hibernate Synchronizer】【MiddlegenIDE】
Quartz 【Java開源 Job調度】
Quartz 是OpenSymphony開源組織在Job scheling領域又一個開源項目,它可以與J2EE與J2SE應用程序相結合也可以單獨使用。Quartz可以用來創建簡單或為運行十個,百個,甚至是好幾萬個Jobs這樣復雜的日程序表。Jobs可以做成標準的Java組件或 EJBs。Quartz的最新版本為Quartz 1.5.0。
Velocity 【Java開源 模板引擎】
Velocity 是一個基於java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。當Velocity應用於web開發時,界面設計人員可以和java程序開發人員同步開發一個遵循MVC架構的web站點,也就是說,頁面設計人員可以只關注頁面的顯示效果,而由java程序開發人員關注業務邏輯編碼。Velocity將java代碼從web頁面中分離出來,這樣為web站點的長期維護提供了便利,同時也為我們在JSP和PHP之外又提供了一種可選的方案。 Velocity的能力遠不止web站點開發這個領域,例如,它可以從模板(template)產生SQL和PostScript、XML,它也可以被當作一個獨立工具來產生源代碼和報告,或者作為其他系統的集成組件使用。Velocity也可以為Turbine web開發架構提供模板服務(template service)。Velocity+Turbine提供一個模板服務的方式允許一個web應用以一個真正的MVC模型進行開發。 【VeloEclipse :Velocity在Eclipse平台下的一個輔助開發插件】
IBATIS 【Java開源 持久層框架】
使用ibatis 提供的ORM機制,對業務邏輯實現人員而言,面對的是純粹的Java對象, 這一層與通過Hibernate 實現ORM 而言基本一致,而對於具體的數據操作,Hibernate 會自動生成SQL 語句,而ibatis 則要求開發者編寫具體的SQL 語句。相對Hibernate等 「全自動」ORM機制而言,ibatis 以SQL開發的工作量和資料庫移植性上的讓步,為系統設計提供了更大的自由空間。作為「全自動」ORM 實現的一種有益補充,ibatis 的出現顯 得別具意義。
Compiere ERP&CRM 【Java開源ERP與CRM系統】
Compiere ERP&CRM為全球范圍內的中小型企業提供綜合型解決方案,覆蓋從客戶管理、供應鏈到財務管理的全部領域,支持多組織、多幣種、多會計模式、多成本計算、多語種、多稅制等國際化特性。易於安裝、易於實施、易於使用。只需要短短幾個小時,您就可以使用申購-采購-發票-付款、報價-訂單-發票-收款、產品與定價、資產管理、客戶關系、供應商關系、員工關系、經營業績分析等強大功能了。
Roller Weblogger 【Java開源 Blog博客】
這個weblogging 設計得比較精巧,源代碼是很好的學習資料。它支持weblogging應有的特性如:評論功能,所見即所得HTML編輯,TrackBack,提供頁面模板,RSS syndication,blogroll管理和提供一個XML-RPC 介面。
Eclipse 【Java開源 開發工具】
Eclipse平台是IBM向開放源碼社區捐贈的開發框架,它之所以出名並不是因為IBM宣稱投入開發的資金總數 —4千萬美元,而是因為如此巨大的投入所帶來的成果:一個成熟的、精心設計的以及可擴展的體系結構。
NetBeans 【Java開源 開發工具】
NetBeans IDE 是一個為軟體開發者提供的自由、開源的集成開發環境。您可以從中獲得您所需要的所有工具,用 Java、C/C++ 甚至是 Ruby 來創建專業的桌面應用程序、企業應用程序、web 和移動應用程序。此 IDE 可以在多種平台上運行,包括 Windows、Linux、Mac OS X 以及 Solaris;它易於安裝且非常方便使用。
XPlanner 【Java開源 項目管理】
XPlanner 一個基於Web的XP團隊計劃和跟蹤工具。XP獨特的開發概念如iteration、user stories等,XPlanner都提供了相對應的的管理工具,XPlanner支持XP開發流程,並解決利用XP思想來開發項目所碰到的問題。 XPlanner特點包括:簡單的模型規劃,虛擬筆記卡(Virtual note cards),iterations、user stories與工作記錄的追蹤,未完成stories將自動迭代,工作時間追蹤,生成團隊效率,個人工時報表,SOAP界面支持。
HSQLDB 【Java開源 DBMS資料庫】
HSQLDB(Hypersonic SQL)是純Java開發的關系型資料庫,並提供JDBC驅動存取數據。支持ANSI-92 標准 SQL語法。而且他占的空間很小。大約只有160K,擁有快速的資料庫引擎。
Liferay 【Java開源 Portal門戶】
代表了完整的J2EE應用,使用了Web、EJB以及JMS等技術,特別是其前台界面部分使用Struts 框架技術,基於XML的portlet配置文件可以自由地動態擴展,使用了Web Services來支持一些遠程信息的獲取,使用 Apahce Lucene實現全文檢索功能。
JetSpeed 【Java開源 Portal門戶】
Jetspeed 是一個開放源代碼的企業信息門戶(EIP)的實現,使用的技術是Java和XML。用戶可以使用瀏覽器,支持WAP協議的手機或者其它的設備訪問Jetspeed架設的信息門戶獲取信息。Jetspeed扮演著信息集中器的角色,它能夠把信息集中起來並且很容易地提供給用戶。
JOnAS 【Java開源 J2EE伺服器】
JOnAS 是一個開放源代碼的J2EE實現,在ObjectWeb協會中開發。整合了Tomcat或Jetty成為它的Web容器,以確保符合Servlet 2.3和JSP 1.2規范。JOnAS伺服器依賴或實現以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。
JFox3.0 【Java開源 J2EE伺服器】
JFox 是 Open Source Java EE Application Server,致力於提供輕量級的Java EE應用伺服器,從3.0開始,JFox提供了一個支持模塊化的MVC框架,以簡化EJB以及Web應用的開發! 如果您正在尋找一個簡單、輕量、高效、完善的Java EE開發平台,那麼JFox正是您需要的。

② java是個什麼東西,用來做什麼的

在現實社會中有很多地方使用到了Java,從電子商務網站到Android apps,從科學應用到金融產品,例如電子交易系統,從類似Minecraft的游戲再到Eclipse,Netbeans和IntelliJ的桌面應用,從開源的資源庫J2MEapps等等。下面帶你一起詳細了解Java的應用領域。

1、安卓Apps

如果你想知道Java應用在哪裡,你離答案並不遠。打開你的安卓手機或者任何的App,它們完全是用有著谷歌AndroidAPI的Java編程語言編寫的,這個API和JDK非常相似。前幾年安卓剛開始起步而到今日已經很多Java程序員是安卓App的開發者。

2、在金融服務行業的伺服器應用

Java在金融服務業有著很大應用。很多的全球性投資銀行例如GoldmanSachs(高盛投資公司),Citigroup(花旗集團),Barclays(巴克萊銀行),StandardCharted(英國渣打銀行)和一些其他銀行都用Java編寫前台和後台的電子交易系統,結算、信息確認系統,數據處理項目和以及其他的項目。

Java被運用於編寫服務端應用,但大多數沒有前端,都是從一個服務端(上一級)接收數據,處理數據後發向其他的處理系統(下一級)。JavaSwing由於能開發出圖形用戶界面的客戶端供交易者使用而備受歡迎,但是現在C#正在快速地取代Swing的市場,這讓Swing倍有壓力。

3、網站應用

Java同樣也在電子商務和網站開發上有著廣泛的運用。你可以運用很多RESTfull架構,這些架構是用SpringMVC,Struts2.0和類似的框架開發出來的。甚至簡單的Servlet,JSP和Struts在各種政府項目也是備受歡迎,許多政府,醫療,保險,教育,國防和其他部門的網站都是建立在Java之上的。

4、軟體工具

很多有用的軟體和開發工具都是運用Java編寫和開發的,例如Ecilpse,InetelliJIdea和NetbansIDE.。我認為這些都是經常使用的用Java編寫的桌面應用程序。

就如上面所說,Swing曾經在圖形用戶界面的客戶端開發非常流行,它們大多數應用在金融服務領域以及投資銀行。雖然現在JavaFx正在逐漸地流行起來,但仍然無法替代Swing,而且C#已經在大部分金融領域中代替了Swing。

5、交易系統

第三方交易系統,金融服務行業的一大部分,同樣也是使用Java編寫的。例如像Murex這種受歡迎的交易系統,運用於與許多的銀行前端鏈接,同樣也是用Java編寫的。

java300集零基礎入門教程:網頁鏈接

6、J2MEApps

雖然IOS和Android的到來幾乎扼殺了J2ME的市場,但是仍然有很多的低端諾基亞和三星手機在使用著J2ME。曾經有段時間大部分的游戲,手機應用都是利用MIDP和CLDC,或者J2ME部分平台編寫的,以適用於Android系統。.J2ME依然在藍光、磁卡、機頂盒等產品中流行著。app之所以如此流行是因為對於所有的諾基亞手機,app仍然適用於J2ME。

7、嵌入式領域

Java在嵌入式領域也有很大的應用。你只需要130KB就能夠使用Java技術(在一塊小的晶元或者感測器上),這顯示了這個平台是多麼的可靠。Java當初是為了嵌入式設備而設計的。事實上,這也是Java當初的一項「立即編寫,隨處運行」主旨的一部分。

8、大數據技術

Hadoop和其他的大數據技術也在不同程度使用著Java,例如Apache的基於Java的Hbase,Accumulo(開源),以及ElasticSearch。但是Java並沒有佔領整個領域,還有其他的大數據技術例如MongoDB就是使用C++編寫的.如果Hadoopor和ElasticSearch逐漸發展,那麼Java就能有潛力在大數據技術領域上得到更大的發展空間。

9、高頻交易領域

Java平台已經大大提高了性能特點和JITS,並且Java也擁有像C++級別的傳輸性能。因此,Java也流行於編寫高並發系統。雖然Java的傳輸性能不比C++,但你可以不用考慮Java的安全性,可移植性和可維護性等問題(Java內部已經實現好了),而且Java有著更快的運行速度。安全性等問題會使一個沒有經驗的C++程序員編寫的應用程序變得更加緩慢和不可靠。

10、科學應用

現在Java經常是科學應用的默認選擇,包括了自然語言處理。這主要的原因是因為Java比起C++或者其他語言有更加的安全,可移植,可維護,而且Java有著更好的高級並發工具。

其實不管是選擇哪個領域只要自己技術夠強高新就不是問題。

③ 如何直接用java Swing寫日期下拉列表框

DateDropFrame extends JFrame
給year和month添加一個ItemListener來實時計算指定年和月中有多少天就可以了.
代碼是用Swing寫的,不過看你的圖,不像是Swing界面.
/**
* Create the frame.
*/
public DateDropFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new FlowLayout(FlowLayout.LEFT));

final JComboBox year = new JComboBox();
year.setModel(new DefaultComboBoxModel(getModel(start, end)));
contentPane.add(year);

final JComboBox month = new JComboBox();
month.setModel(new DefaultComboBoxModel(getModel(1, 12)));
contentPane.add(month);

final JComboBox day = new JComboBox();
contentPane.add(day);

year.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
setDay(year, month, day);
}
});
month.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
setDay(year, month, day);
}
});
setDay(year, month, day);
setContentPane(contentPane);
}

/**
* calculate days in select month & year
*/
private void setDay(JComboBox year, JComboBox month, JComboBox day) {
int y = Integer.parseInt((String) year.getSelectedItem());
int m = Integer.parseInt((String) month.getSelectedItem());
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, y);
c.set(Calendar.MONTH, m - 1);
int days = c.getActualMaximum(Calendar.DAY_OF_MONTH);
day.setModel(new DefaultComboBoxModel(getModel(1, days)));

}

/**
* get String array [start, end]
*/
private String[] getModel(int start, int end) {
String[] m = new String[end - start + 1];
for (int i = 0; i < m.length; i++) {
m[i] = String.valueOf(i + start);
}
return m;
}

④ Java GUI的發展和演化簡史

當Java在 年的春天第一次發布的時候 它包含了一個叫AWT(Abstract Windowing Toolkit)的庫 用來構建圖形用戶界面應用程序 Java很有雄心的宣言-- write once run anywhere 許諾 一個具有下拉菜單 命令按鈕 滾動條以及其他常見的GUI控制項的應用程序將能夠在各種操作系統上運行而不必重新編譯成針對某一平台的二進制代碼 包括Microsoft Windows Sun s own Solaris Apple s Mac OS以及Linux

雖然最初Java是支持操作系統獨立的應用程序開發 在Java提出 write once run anywhere 宣言那段時間的革命導致了Java applet和主導桌面應用程序計劃的產生

盡管從那以後大部分構建桌面應用程序的成就都慢慢衰退 Java構建圖形用戶界面的能力反倒增強了 跟蹤Java GUI的發展和演化 我們將發現 個主要的構建窗口程序庫:AWT Swing和SWT(Standard Widget Toolkit) 在這一章里我們將查看和分析這 個庫中的每一個庫 並且我們將一起來看一看第 個庫--JFace 其實JFace不算一個真正的構建窗口程序庫 而是在基於SWT之上的一個抽象層

AWT

很多圍繞著介紹Java技術的令人激動的地方都基於applets--一個可以讓程序通過Internet發布並在瀏覽器內執行的新技術 用戶和開發人員都熱衷於斯 因為applets許諾將簡化跨平台應用程序的開發 維護和發布 而這是商業軟體開發中幾個最富挑戰性的話題

為了方便用Java構團薯虛建圖形用戶界面 Sun最初提供了一個在所有平台下具有的獨特Java外觀的圖形界面庫 Sun在手鎮applet技術策略方面的首要夥伴Netscape提出applets應該維塌燃持和運行時平台一樣的外觀 他們希望applets在某一平台下在顯示和行為上能夠像其他應用程序一樣

為了實現Netscape的 本地外觀 的目標 在JDK的第一個發布版中包含了AWT這個庫 AWT的預設實現使用了 對等 機制 即每一個Java GUI窗口部件都在底層的窗口系統中有一個對應的組件

例如 每一個java awt Button對象將在底層窗口系統中創建一個唯一對應的button 當用戶點擊那個按鈕的時候 事件將從本地實現庫傳送到Java虛擬機里 並且最終傳送到與java awt Button對象相關聯的邏輯 對等系統的實現以及Java組件與對等組件之間的交流的實現都隱藏在底層JVM實現中 Java語言級的代碼仍然跨平台

盡管如此 為了保持 write once run anywhere 的許諾 Java不得不妥協和折衷 特別的 Java採用了 最小公分母 的方法 即AWT僅僅提供所有本地窗口系統都提供的特性 這就需要開發人員為更多高級特性開發他們自己的高級窗口部件 然後提供給用戶不同的使用體驗

其他的問題也減緩了人們對applets的接受和承認 Applets運行在一個安全的 沙箱 裡面並且能夠阻止惡意的applets對文件系統 網路連接等資源的濫用 盡管沙箱提供了安全性 但它 *** 了應用程序 畢竟一個應用程序不能運用一個網路連接來保存一個文件是不好的 Java GUI應用程序也不能像本地程序一樣響應靈敏 這是在當前硬體平台和Java的解釋性天性下預期結果

所以 用AWT開發的應用程序既缺少流行GUI程序的許多特性 又不能達到在顯示和行為上像用本地窗口構建庫開發的程序一樣的目標 應該有一個更好的庫來讓Java GUI取得成功

Swing

於 年JavaOne大會上提出並在 年 月發布的JFC(Java Foundation Classes)包含了一個新的使用Java窗口開發包 這個新的GUI組件叫做Swing 感覺到它是對AWT的升級 並且看起來對Java占據計算機世界很有幫助 對Java來說已經萬事具備了:可下載的applets將是未來的軟體 人們將從其他操作系統轉向JavaOS 從傳統的計算機轉向叫做JavaStation的瘦客戶端網路計算機 Microsoft將最終因為不能在桌面程序領域與之想抗衡而被廢黜 雖然這些景象從來沒有實現 Swing作為Java applets和applications的GUI庫倒確實十分繁榮

Swing架構

盡管 Swing 僅僅是這個新組件的指代名稱 它一直持續使用到今天 可能是因為這個名稱太貼切了 Swing嘗試著以以下幾種方式改變公認的觀點:

AWT依賴對等架構 用Java代碼包裝本地窗口部件 Swing卻根本不使用本地代碼和本地窗口部件

AWT把繪制屏幕交給本地窗口部件 Swing自己的組件繪制自己

因為Swing不依賴本地窗口部件 它可以拋棄AWT的最小公分母的方法並在每個平台下實現每個窗口部件 從而創建一個比AWT更強大的開發工具包

Swring預設情況下採用本地平台的顯示外觀 然而 它並不僅僅限於此 而是還可以採用插件式的顯示外觀 因此Swing應用程序可以看起來想Windows應用程序 Motif應用程序 Mac應用程序甚至它自己的顯示外觀-- 金屬 所以 Swing應用程序可以完全忽略它運行時所在的操作系統環境並且僅僅看起來像自己 這是單調一致的桌面應用程序外觀的一大挑釁 想像一下Swing有多傲慢!

盡管如此 Swing組件超越了簡單的窗口部件 它體現了正不斷出現的設計模式以及一些最佳實踐 採用Swing 你不僅僅得到GUI窗口部件的句柄和它所包含的數據 而是定義一個模型去保存數據 定義一個視圖去顯示數據 定義一個控制器去響應用戶輸入 事實上 大部分Swing組件的構建是基於MVC(model view controller)模式的 MVC使應用程序開發變得更清晰 更易維護和管理

Swing的缺點

盡管Swing在AWT的基礎上做出了巨大的改進 它仍然沒能使Java作為構建桌面應用程序的工具 也許Swing的擁護者會立即舉出Swing的成功應用案例 例如開源文本編輯器jEdit或者Borland的UML(Unified Modeling Language)建模工具Together 但是Swing應用程序仍然在桌面應用方面顯得很少 Sun提出了一個記錄可得到的Swing應用程序的列表 Swing Sightings 來證明Swing應用是值得注目的 然而我們也看到了 C++ Sightings 和 Visual Basic Sightings 的網頁

為什麼Swing沒有履行它的諾言?原因可能歸結為下面兩點:

速度的缺乏

界面外觀

Swing的狂熱者可能會對Swing速度慢這一點感到忿忿不平 不可否認 JIT(just in time)編譯器 Java虛擬機以及Java語言本身就使得Swing應用程序和本地程序拉開了一定差距 盡管如此 Swing仍顯得比本地應用程序行動緩慢和響應不積極 由於桌面計算變得越來越快 用戶的速度期望值也隨之增加 任何可感知的遲緩都將是無法忍受的

對Swing的顯示外觀的問題的抱怨也引起了Swing的開發者的憤怒 畢竟他么宣稱Swing擁有各種可插入式的外觀 並且事實上可以顯示成任何樣子 J SE 甚至添加了對Windows XP和GTK+的支持 以致於在這些平台下運行的Swing應用程序會自動採用該平台的外觀

盡管如此 問題仍然存在:Swing將一直處於最新的圖形用戶界面的後面 因為必需在Java庫里明確地添加對最新GUI的支持 當使用J SE 或更早的版本時在Windows XP上運行的Swing應用程序將顯現為Windows 的外觀 而且 當使用XP themes或WindowBlinds等軟體來改變皮膚或圖形外觀時用戶日益銘記他們自己的特徵和個性 而Swing不僅不理會操作系統 甚至連用戶參數選擇也不理會

簡短的說 Swing應用程序不像本地應用程序一樣執行 外觀也不一樣 Java要想擺脫常年以來處於不斷學習中的地位並掌握桌面應用程序開發中的眾多角色 它的GUI仍需要改進

SWT

當社區人員開始構建Eclipse時 他們意識到Swing和AWT都不足以用來構建真實世界的商業程序 結果 他們決定構建一套新的GUI開發工具包用來顯示Eclipse界面 這個工具包借用了VisualAge SmallTalk中的大量的庫 他們把這個新的工具包命名為SWT(Standard Widget Toolkit) 意識到本地行為需要本地窗口部件 SWT的設計者們採用了AWT的對等架構 而僅僅當本地組件不存在時(例如Motif下的樹形組件)才求助於Java實現 這樣 SWT吸收了AWT和Swing實現的最好的部分:當可以得到本地組件時使用本地實現 當不能得到本地組件時使用Java實現 這就同時保證了與本地窗口部件相當的外觀和響應度

SWT於 年與Eclipse IDE(Integrated Development Environment)一起集成發布 在這個最初發布版之後 SWT發展和演化為一個獨立的版本 它可以使用與眾多操作系統 包括Microsoft Windows Mac OS X以及幾種不同風格的Unix等 寫作本書的這個時候 當前官方發布版本為 版為beta版 現在也可以下載 本系列文章採用SWT

另一個重要的優勢為SWT的源代碼是在一個開源許可下免費可得並無病毒的 這就意味著你可以在你的應用程序中使用SWT並且在任何許可認證下發布它 源代碼對理解SWT庫的低級別功能性和調試應用程序都是很有幫助的 開源軟體也意味著比商業發布軟體更新的更加頻繁

JFace

JFace的構建基於SWT 它提供了SWT的功能和更簡易的MVC模式 SWT使用直接的API提供了原生的窗口部件 例如 你創建一個table部件並且插入你想顯示的行和列的數據 JFace則提供了在SWT基礎之上的抽象層 所以你可以對抽象層編程然後抽象層與SWT API交互來替代直接對SWT API編程 考慮一下對本地C窗口部件介面編程同使用C++GUI類庫的區別或是使用AWT與Swing的區別 這些類比將有助於闡述SWT與JFace的區別 例如 為了使用JFace中的table 你仍舊創建table窗口部件 但是你不向裡面插入數據 反而 你將你的content(或model) provider類和你的display(或 view) provider類提供給它 接著 table調用你提供的類來決定數據內容和怎樣顯示數據內容 JFace沒有徹底地抽象SWT 即使在用JFace寫的程序中也會常常出現SWT及它的低級API 在本文第二部分帶領您構建正確的SWT基礎之後 我們將在第三部分探究JFace的力量

總結

lishixin/Article/program/Java/hx/201311/26708

⑤ 用java開發的、較成功的桌面應用軟體有哪些

用java開發的、較成功的桌面應用軟體有很多,具體軟體名字建議官網查詢。學java開發推薦選擇千鋒教育,該教育機構採用全程面授高品質、高體驗培養模式,非常不錯。

java開發需要掌握的內容如下:
1、Java基礎
主要涉及:Java基礎語法、面向對象、核心類庫、集合、異常、IO、線程、JDK新特性等知識點.
2、JavaWeb開發
主要涉及:前端技術、資料庫、JAVA資料庫操作、軟體伺服器及伺服器相關技術、動態網頁JSP、AJAX等知識點.
3、Java高級框架
主要涉及:SpringMVC、MyBatis、Spring、MySQL高級、Linux&Redis&Nginx、Maven等知識點
4、大型微服務分布式技術
主要涉及:SpringBoot、SpringCloud、Git、Dubbo、Zookeeper、AngularJS、SpringSecurity、BCrypt加密、FastDFS、分布式事務處理、RedisCluster、Solr、SolrCloud、Freemarker、JMS、簡訊發送平台、SSO解決方案、CORS、Twitter的Snowflake、SpringTask、MavenProfile、MongoDB簡介、MyCat、Docker、Jenkins等知識點。

想要了解更多有關java開發的相關信息,推薦咨詢千鋒教育。千鋒教育成立教研學科中心,推出貼近企業需求的線下技能培訓課程。課程包含HTML5大前端培訓、JavaEE+分布式開發培訓、Python人工智慧+數據分析培訓、全鏈路UI/UE設計培訓、雲計算培訓、全棧軟體測試培訓、大數據+人工智慧培訓、智能物聯網+嵌入式培訓、Unity游戲開發培訓、網路安全培訓、區塊鏈培訓、影視剪輯包裝培訓、游戲原畫培訓、全媒體運營培訓。採用全程面授高品質、高體驗培養模式,非常值得選擇。

閱讀全文

與javaswing開源相關的資料

熱點內容
為什麼安卓車載中控屏看起來很差 瀏覽:464
吃雞怎麼解壓最快 瀏覽:966
linux網路編程基礎 瀏覽:217
產研是程序員嗎 瀏覽:592
程序員的法律 瀏覽:967
編程第四關用冰雪火焰閃現通關 瀏覽:754
批處理當前文件夾參數 瀏覽:183
鴻蒙安卓如何下載 瀏覽:902
開3389命令 瀏覽:540
程序員大都單純嗎 瀏覽:913
APP如何實現下載功能 瀏覽:214
通達信源碼怎樣放到桌面 瀏覽:643
程序員的腦袋會禿嗎 瀏覽:453
為什麼eve登錄啟動不進去伺服器 瀏覽:270
微信招生app哪個好用 瀏覽:233
寶可夢劍盾啟動文件在哪個文件夾 瀏覽:765
壓縮機比容 瀏覽:117
python自動化測試面試 瀏覽:949
買便宜點的鞋子去哪個app買 瀏覽:890
android中個人頁面 瀏覽:711