|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听,java天生JPEG图象文件.代码以下:
我的这段代码次要供应给我本人编写的事情流计划器对象利用(EWorkFlowControlewf),EWorkFlowControl承继了JComponent重载了绘制的办法,假如有兄弟必要用到这个功效的,只必要将EWorkFlowControl交换成本人的JComponent对象便可。
/**使以后输出的事情流对象上的图形天生JPEG图象文件.
*每个节点对应一个图片.
*创建的文件寄存在jar文件文件夹下,并创立一个子文件夹
*以节点的称号为文件夹的称号.
*@paramewf必要天生jpeg图片文件的事情流对象.
*@returnboolean:前往一个布尔值,暗示是不是保留乐成.
*/
publicstaticbooleanbuildThePictrue(EWorkFlowControlewf)
{
//modifybymw
//列出流程中一切的node节点.
//分离设置这些节点为选中形态,并存成图片(称号为节点的流水号)
INoderootNode=ewf.getNote();Rectanglebounds=ewf.getBounds();
INode[]children=rootNode.getNodeChildren();
intchildrenLen=rootNode.getNodeChildCount();
StringnodeNumber=null;
booleanflag=true;
//打消一切节点得选中形态.
for(intj=0;j<childrenLen;j++){
children[j].setSelect(false);}
//天生总图(我是一个节点一个图象)
try{
java.awt.image.BufferedImageimage;image=newjava.awt.image.BufferedImage(bounds.width,bounds.height,java.awt.image.BufferedImage.TYPE_INT_RGB);
Graphicsg=image.getGraphics();g.setColor(Color.white);
g.fillRect(0,0,bounds.width,bounds.height);
ewf.paintComponent(g);
Stringpath=System.getProperty("user.dir")+System.getProperty("file.separator")+ewf.getWorkFlowName()+"["+ewf.getWorkFlowCode()+"]";
Filefd=newFile(path);
if(!fd.exists()){
fd.mkdirs();
}
StringfilePath=path+System.getProperty("file.separator")+"0.jpeg";
FileimgFile=newFile(filePath);
FileOutputStreamfos=newFileOutputStream(imgFile);
BufferedOutputStreambos=newBufferedOutputStream(fos);
JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(bos);
encoder.encode(image);bos.close();
}
catch(Exceptionex){
flag=false;
}
//到此第一个图象已天生!
//轮回天生图片
for(inti=0;i<childrenLen;i++)
{
nodeNumber=children[i].getNodeNumber();
if(nodeNumber==null)
{
flag=false;continue;
}else{
children[i].setSelect(true);
try{
java.awt.image.BufferedImageimage;image=newjava.awt.image.BufferedImage(bounds.width,bounds.height,java.awt.image.BufferedImage.TYPE_INT_RGB);
Graphicsg=image.getGraphics();
g.setColor(Color.white);
g.fillRect(0,0,bounds.width,bounds.height);
ewf.paintComponent(g);
Stringpath=System.getProperty("user.dir")+System.getProperty("file.separator")+ewf.getWorkFlowName()+"["+ewf.getWorkFlowCode()+"]";
Filefd=newFile(path);
if(!fd.exists()){
fd.mkdirs();
}
StringfilePath=path+System.getProperty("file.separator")+nodeNumber+".jpeg";
FileimgFile=newFile(filePath);
FileOutputStreamfos=newFileOutputStream(imgFile);
BufferedOutputStreambos=newBufferedOutputStream(fos);JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(bos);
encoder.encode(image);bos.close();
children[i].setSelect(false);
}catch(Exceptionex){
flag=false;
}}}
if(flag){
newExceptionDialog(PIC_SAVE_OK,PIC_SAVE_DIALOG_TITLE,DesktopFrame.getCurrentInstance(),true).setVisible(true);
}else{
newExceptionDialog(PIC_SAVE_ERROR,PIC_SAVE_DIALOG_TITLE,DesktopFrame.getCurrentInstance(),true).setVisible(true);
}
returnflag;
}
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。 |
|