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等等文档格式。