A. 如何在Eclipse中進行java的可視化界面設計
准備工作:
1、下載JDK;
2、下載Eclipse;
3、下載相應的EMF、GEF、VE;
注意:三個插件的版本要和Eclipse的版本配套才能正確使用,至於配套的說明請參考下載頁面的說明http://download.eclips.org/ve
開始安裝:
1、安裝JDK;
這個比較容易,標準的Windows安裝程序,下一步,再下一步即可,安裝完成後,也不需要重啟。
2、安裝Eclipse;
Eclipse是綠色軟體,不需要安裝,只需要解壓縮,然後即可運行。
為了說明方便,我把它解壓縮到C盤根目錄下,得到C:\eclipse目錄,運行C:\eclipse\eclipse.exe即可。
注意:下面的安裝,需要先關閉eclipse程序。
3、安裝EMF、GEF、VE;
對於Eclipse來說,這些都是它的插件,所以,安裝方法都是一樣的。插件下載地址http://download.eclips.org/ve
A、在C:\eclipse目錄下,建立四個子目錄:C:\eclipse\emf、C:\eclipse\gef、C:\eclipse\ve、C:\eclipse\links;
B、把下載的EMF、GEF、VE都解壓縮到相應的目錄中,即:把EMF壓縮包解壓縮到C:\eclipse\emf中,得到C:\eclipse\emf\eclipse目錄,以此類推,完成GEF、VE的解壓縮;
C、在C:\eclipse\links目錄下,新建一個文本文件,名字可隨便取,如:link.txt。
然後在link.txt文件中,加入以下三行文字:
path=emf
path=gef
path=VE
注意:這里用的是相對路徑,也可以把EMF、GEF、VE解壓縮到其它地方,再用絕對路徑即可。
再注意:絕對路徑是用 「/」 或者 「\\」 分隔,而不是「\」
補充知識:為什麼ve需要emf和gef:
Visual Editor 所利用的最為明顯的工具是 GEF,即圖形化編輯框架(Graphical Editing
Framework)。GEF 建立於本地 Eclipse 圖形化工具集 SWT
之上,以使得開發一個圖形化編輯器或者所見即所得文本編輯器更為容易。如果您熟悉 SWT (或者
AWT/Swing,在這方面它們是類似的)中的圖形原語,那麼您會知道繪制和處理任意的形狀(比如矩形、箭頭和橢圓)是比較困難的,更不用說管理它們之間的關系以及它們所代表的數據模型了。
GEF 被劃分為兩個部分:第一部分是 Draw2D 插件,這是一個輕量級的繪圖和呈現包,用於幫助您繪制圖形。第二部分是 GEF 插件,除了其他工具以外,這一部分中還增加了選擇和創建工具、工具選項板,以及用於在數據模型和視圖之間進行映射的控制器框架。
GEF
是一個模型無關的框架,但是作為 Visual Editor (以及其他生成代碼的圖形化工具)的一部分,它在後台使用 Eclipse
建模框架(Eclipse Modeling Framework, EMF),以在模型、Java 類和圖形化表示之間進行映射,其中模型是使用
XML 元數據交換(XML Metadata Interchange, XMI)在內部存儲的。EMF
的重要特性之一是它確保所有這些映射都是一對一的;所以盡管 XMI
可以被認為是模型的標准表示,但是在代碼和圖形之間來回切換並不會丟失任何信息。這就是為什麼 Visual Editor
只需要保存模型的一種表示(即 Java 源代碼),以及開發人員可以自由地在圖形化編輯器之外編輯該源代碼的原因。
4、安裝完畢,再次運行Eclipse,它啟動時會自動查找links目錄下所有的文本文件,並載入其中path指向的所有插件,這里當然包括VE。
A、如果不能確定是否已經載入,可選擇菜單Help->Software Updates->Manage Configuration,打開Proct Configuration窗體,在其左邊的樹形欄里,可以看到已載入的插件。
B、如果載入沒有成功,可以試試用Eclipse -clear來運行程序。
C、如果載入仍沒有成功,可以試試刪除C:\eclipse\configuration下的內容,僅保留config.ini文件。然後再用Eclipse來運行程序。
================================================================
啟動eclipse平台。剛開始,你可能覺得eclipse並沒有什麼變化。先別急,請新建一個項目,點擊"文件"菜單下的"新建"子菜單,選擇並建立一個新的"java項目"。然後在工具欄上的"新建Java類" 圖標上,點擊右邊的小箭頭,將展開如下圖的菜單:
在此菜單上,多了一個"Visual Calss"的子菜單,這就是進入Visual Editor的入口之一。點擊"Visual Class",就會彈出創建GUI程序的對話框,選擇完畢後,就會進入可視化編輯畫面:
用VE寫個Hello:
1、新建一個項目;
File->New->Project...,選擇「Java Project」,然後Next,輸入一個項目名字:Hello,其它全部默認,最後回車,或者點擊「Finish」完成。
2、設置SWT庫;
A、選擇項目Hello,右鍵菜單,打開Properties對話框。
B、選擇左邊樹形中的Java Build Path,在其設置頁中,選擇Libraries頁,點擊「Add Library...」;
C、在打開的Add Library對話框里,選擇Standard Widget Toolkit(SWT),Next;
D、在打開的SWT Library Options對話框中,勾選上「Include support for JFace library」,Finish即可。
E、回到Properties對話框,OK即可。
3、新建Hellworld.java文件;
A、選擇項目Hello,右鍵菜單,New->Other...(或者點擊工具欄里新建圖標),打開Select a wizard對話框,選擇Java/Visual Class,Next;
B、在打開的Java Visual Class對話框中,
在Package里,輸入:com.cnblogs.pan;
在Name里,輸入:Helloworld;
在Style里,選擇SWT/Shell;
勾選上public static void main(String[] args);
最後Finish。
4、到了這一步,應該就可以看到窗體了,那些控制項都在Palette里,點開就能看到了。
A、在窗體上右擊,選擇Set Layout,再選擇null;(此處為個人習慣)
B、從Palette里,選中一個Button,並在窗體任意位置畫一個Button,在下面的Properties窗口裡,設置其text為ClickMe;
C、選中該按鈕,右擊選擇Events->Add Event,在打開的對話框中,選擇左邊的widgetSelected,Finish。
D、這時,游標會自動定位到程序相應的位置,我們在程序里加入下面語句:
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
System.out.println("widgetSelected()");
MessageDialog.openInformation(null, "Hello", "Hello World!");//加入這條語句
}
E、保存程序,點擊菜單Run->Run As->Java Application,呵呵,跟全世界打個招呼吧!
B. EMF什麼意思
EMF
Eclipse Modelling Framework, 基於Eclipse的模型框架。它是Eclipse MDA(Model Driven Architecture)的一個重要組成部分,是Eclipse中許多項目的基礎( e.g, GEF), EMF可以將模型轉換成高效的,正確的,和易於定製的Java代碼。EMF項目的最初目標是要實現OMG(Object Management Group)的MOF規范(Meta Object Facility)。在項目的進行中EMF的開發人員根據大量的實踐經驗對MOF規范進行了再加工,提取出了一些核心的元素集(MOF 2.0 中稱為EMOF(Essential MOF))。可以說EMF 是MOF核心子集的java高效實現,在EMF 中MOF核心子集的實現稱為Ecore。
C. emf是什麼格式
EMF是Windows 32位擴展圖元文件格式,是基於Eclipse的模型框架。
它是Eclipse MDA(Model Driven Architecture)的一個重要組成部分,是Eclipse中許多項目的基礎( e.g,GEF), EMF可以將模型轉換成高效的,正確的,和易於定製的Java代碼。
(3)javaemf擴展閱讀
EMF格式的產生是為了解決WMF在印刷行業中的不足。EMF是設備獨立性的一種格式,也就是說EMF可以始終保持著圖形的精度,而無論用列印機列印出何種解析度(dot/inch)的硬拷貝。而在網路上,較小的EMF格式可以節省帶寬。
EMF雖然可以保持圖形的精度,但和BMP格式的圖片一樣不支持動畫效果。
EMF格式的創建目的是用來解決WMF格式從復雜的圖形程序中列印圖形時出現的不足的。EMF是設備無關的。被列印物品的圖形的維度維護的方式並不是列印機上每英寸的點數。在網路中,EMF格式的較小的文件尺寸減少了網路堵塞。EMF是Windows操作系統使用的緩存文件。
參考資料來源:網路-EMF
D. java怎麼emf轉png後把原文件刪除
使用EMFInputStream讀取EMF文件,然後使用EMFRenderer對象將EMF繪制到創建
好的空白的BufferedImage裡面。這樣就把EMF圖片轉化為Java中的BufferedImage對
象,然後可以重新保存為Java 2D支持圖像格式如PNG或者JPG等。
代碼如下:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.freehep.graphicsio.emf.EMFInputStream;
import org.freehep.graphicsio.emf.EMFRenderer;
/**
* download the third-party libraries here:
* http://java.freehep.org/vectorgraphics/index.html
*
* @author gloomyfish
*
*/
public class EMFReader {
public static void main(String[] args) {
try {
EMFInputStream inputStream = new EMFInputStream(new FileInputStream("D:\\export.emf"), EMFInputStream.DEFAULT_VERSION);
System.out.println("height = " + inputStream.readHeader().getBounds().getHeight());
System.out.println("widht = " + inputStream.readHeader().getBounds().getWidth());
E. java的擴展jar包有哪些
jar包 用途
axis.jar SOAP引擎包
commons-discovery-0.2.jar 用來發現、查找和實現可插入式介面,提供一些一般類實例化、單件的生命周期管理的常用方法.
jaxrpc.jar Axis運行所需要的組件包
saaj.jar 創建到端點的點到點連接的方法、創建並處理SOAP消息和附件的方法,以及接收和處理SOAP錯誤的方法.
wsdl4j-1.5.1.jar Axis運行所需要的組件包
activation.jar JAF框架的jar包
annotations-api.jar 使用註解所需jar
ant.jar 用於自動化調用程序完成項目的編譯,打包,測試等
aopalliance-1.0.jar 支持Spring AOP
asm-2.2.3.jar ASM位元組碼庫
asm-commons-2.2.3.jar ASM位元組碼庫
asm-util-2.2.3.jar Java位元組碼操縱和分析框架
aspectjrt.jar 處理事務和AOP所需的包
aspectjweaver.jar 處理事務和AOP所需的包
axiom-api-1.2.7.jar Axis 對象模型
axiom-impl-1.2.7.jar Axis 對象模型
bcprov-jdk15-140.jar 基於java1.5 的加密演算法實現
bfmclientmodel.jar 使用WebSphere所需jar包
bpcclientcore.jar 使用WebSphere所需jar包
bpe137650.jar 提供遠程訪問BPE容器的實現。
bsh-2.0b4.jar 解決負載邏輯運算
c3p0-0.9.0.jar 開放源代碼的JDBC連接池
cglib-nodep-2.1_3.jar Spring中自動代理所需jar包
cobertura.jar 測量測試覆蓋率
commons-beanutils-1.7.0.jar 動態的獲取/設值Java Bean的屬性
commons-chain-1.1.jar 實現責任鏈設計模式的Java 類庫
commons-codec-1.3.jar 用來處理常用的編碼方法的工具類包,例如DES、SHA1、MD5、Base64等等
commons-collections-3.1.jar 對標准java Collection的擴展
commons-collections.jar 對標准java Collection的擴展
commons-digester-1.8.jar 用於處理struts-config.xml配置文件
commons-fileupload-1.1.1.jar struts上傳文件
commons-httpclient-3.1.jar 用來簡化HTTP客戶端與伺服器端進行各種通信編程實現
commons-io-1.1.jar 針對java.io.InputStream和Reader進行了擴展
commons-lang-2.4.jar 對java.lang.*的擴展
commons-logging-1.1.1.jar 日誌包
commons-pool-1.3.jar 實現對象池化框架
commons-validator-1.3.1.jar 用來把驗證規則程序提取出來,以供重復使用
db2jcc.jar java連接DB2所需jar
db2jcc_license_cu.jar java連接DB2所需jar
dom4j-1.6.1.jar 解析XML
ehcache-1.2.4.jar hibernate的二級緩存如果用ehcache的時候需要此jar包
emf.jar 基於Eclipse的模型框架
ezmorph-1.0.6.jar 使用JSON所需的jar包
FastInfoset-1.2.2.jar 使用WebService所需的jar包
freemarker-2.3.8.jar Strus2支持的一種表現層框架
geronimo-activation_1.1_spec-1.0.2.jar Apache Geronimo所帶jar包,
geronimo-annotation_1.0_spec-1.1.1.jar Apache Geronimo所帶jar包
geronimo-javamail_1.4_spec-1.3.jar Apache Geronimo所帶jar包
geronimo-jaxws_2.1_spec-1.0.jar Apache Geronimo所帶jar包
geronimo-jms_1.1_spec-1.1.1.jar Apache Geronimo所帶jar包
geronimo-servlet_2.5_spec-1.2.jar Apache Geronimo所帶jar包
geronimo-stax-api_1.0_spec-1.0.1.jar Apache Geronimo所帶jar包
hibernate3.jar Hibernate3的核心jar包
htmclientmodel.jar 使用WebSphere所需jar包
jakarta-oro.jar 一套文本處理工具,提供per15.0兼容的表達式,AWK-like表達式,Glob表達式。
javassist.jar Javassist 位元組碼解釋器
jaxb-api-2.1.jar 使用WebService所需的jar包
jaxb-impl-2.1.7.jar 使用CXF所需jar包
jaxb-xjc-2.1.7.jar 使用CXF所需jar包
jaxen-1.1.1.jar 解析XML
jcifs-1.2.22.jar 實現單點登陸
jdom2-1.0.jar 解析XML
jdom-1.0.jar 解析XML
jettison-1.0.1.jar 使用CXF所需jar包
jetty-6.1.9.jar Jetty Http伺服器jar
jetty-util-6.1.9.jar Jetty Http伺服器jar
jra-1.0-alpha-4.jar 使用CXF所需jar包
js-1.6R7.jar 使用CXF所需jar包
json-lib-2.2.3-jdk13.jar 使用JSON所需的jar包
jsonplugin-0.25.jar strus2的JSON插件
jsr311-api-0.8.jar 使用CXF所需jar包
jstl.jar JSTL標簽庫
jta.jar 標準的 JAVA 事務處理介面
junit.jar 用於單元測試
jxl.jar 通過java操作excel表格的工具類庫
ldap.jar JNDI目錄服務和LDAO伺服器所需的jar
ldapbp.jar JNDI目錄服務和LDAO伺服器所需的jar
log4j-1.2.15.jar 提供日誌功能
mail.jar java發送郵件jar包
neethi-2.0.4.jar 使用CXF所需jar包
odmg-3.0.jar ODMG是一個ORM的規范,Hibernate實現了ODMG規范,這是一個核心的庫
ognl-2.6.11.jar struts2中OGNL語言
ojdbc14.jar Oracle資料庫驅動包
opensaml-1.1.jar 使用CXF所需jar包
oro-2.0.8.jar Validator框架所需的jar包
oscache-2.1.jar Java 對象的緩存工具
poi-3.1-FINAL-20080629.jar 操作exce所需jar包
poi-contrib-3.1-FINAL-20080629.jar 操作exce所需jar包
poi-ooxml-3.6-20091214.jar 提供對office的word、excel、visio及ppt的操作
poi-ooxml-schemas-3.6-20091214.jar 提供對office的word、excel、visio及ppt的操作
poi-scratchpad-3.1-FINAL-20080629.jar 提供對office的word、excel、visio及ppt的操作
processCommon.jar IBM WebSphere 運行所需jar
ProcessCommonLibrary.jar IBM WebSphere 運行所需jar
processIdentity.jar IBM WebSphere 運行所需jar
ProcessInformation.jar 進程監視軟體包
proxool-0.9.1.jar 資料庫連接池
proxool-cglib.jar 資料庫連接池
quartz-1.6.0.jar 開源作業調度框架
saaj-api-1.3.jar 使用axis所需的jar
saaj-impl-1.3.2.jar 使用axis所需的jar
serializer-2.7.1.jar XML序列化
slf4j-jdk14-1.5.6.jar 整合各種日誌框架的工具
spring208.jar spring核心框架
spring-ldap-1.2-RC1.jar spring下LDAP
spring-mock.jar spring的測試框架
standard.jar 使用JSTL標簽庫所需的jar
stax-api-1.0.1.jar 解析XML
struts2-core-2.0.14.jar struts2核心jar
struts2-spring-plugin-2.0.6.jar struts2整合Spring所需jar
taglibs-datetime.jar Apache開源組織提供標簽庫,用於格式化日期。
taglibs-mailer.jar 用於發送郵件
taglibs-string.jar Apache開源組織提供標簽庫,用於對String的操作。
task137650.jar Portal技術在SOA系統集成應用中實現所需的jar
utility.jar Apache開源組織提供標簽庫
velocity-1.5.jar 一個免費的開源模板框架
wsdl4j-1.6.2.jar 用來解析服務的WSDl文件
wss4j-1.5.4.jar 創建CXF所需jar
wstx-asl-3.2.6.jar 創建CXF所需jar
xbean-spring-2.8.jar 使用xfire所需jar
xerces-2.6.2.jar XML解析器
xfire-all-1.2.6.jar 用於實現WebService
XmlSchema-1.1.jar 使用xfire所需jar
xwork-2.0.7.jar WebWork核心jar
這只是一部分,還有很多。
F. java EMF轉為PNG或者pdf
用虛擬列印機,軟體有: 1.PDFFactory Pro虛擬列印機,安裝後,在任何文檔中,選擇列印時,選擇列印機為pdfFactoryPro,就能生成PDF文件,並可以進行安全設置。 2.SmartPrinter(Doc Pdf xls to pdf/tiff/bmp/jpg/png)一款大家非常熟悉的經典產品,專為轉換文件而研發的高品質列印驅動,以運行穩定、轉換速度快和圖像質量高而著稱,通過虛擬列印技術可以完美的將任意可列印文檔轉換成 PDF、TIFF、JPEG,BMP、PNG、EMF、GIF、TXT格式。 3.雪瑩DocConvert虛擬列印轉換。雪瑩DocConvert是一款文檔轉化工具,它通過虛擬列印的技術將任何文檔轉化為PDF,JPG,BMP,TIFF,PCX,PNG等等文檔格式。