📄 dsmenubar.java
字号:
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==newItem)
{
jDSExtendDesktopface.delAllJDSComponent();
jDSExtendDesktopface.delAllJDSLineface();
jDSExtendDesktopface.setComponentID(0);
jDSExtendDesktopface.repaint();
saveFile=null;
frameSwing.setTitle(frameSwing.title);
}
//另存文件 xml格式
else if(e.getSource()==saveAsItem)
{
try
{
int result = files.showSaveDialog(frameSwing);
File objfile = files.getSelectedFile();
this.saveFile=objfile;
if(objfile!=null)
{
String filepath = objfile.getPath();
//添加扩展名
if (!filepath.endsWith("edr")) {
filepath = filepath + ".edr";
}
objfile = new File(filepath);
if(!objfile.exists())
objfile.createNewFile();
else
{
objfile.delete();
objfile.createNewFile();
}
//生成XML文档
BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream(objfile,false));
String str1="<?xml version=\"1.0\" encoding=\""+encoding+"\"?>"+newline;
String str2="<dramflow>"+newline;
String str3="</dramflow>"+newline;
bufferedOutputStream.write(str1.getBytes());
bufferedOutputStream.write(str2.getBytes());
bufferedOutputStream.write(str3.getBytes());
bufferedOutputStream.close();
//写入XML文档
jDSXMLReadWriteface.insertElement(objfile,jDSExtendDesktopface);
//美化XML文档
/*
BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream(objfile));
StringBuffer strall=new StringBuffer();
byte[] bytes=new byte[1024];
int n=-1;
while((n=bufferedInputStream.read(bytes))!=-1)
{
if(n!=-1)
strall.append(new String(bytes,0,n));
}
String str=strall.toString();
str=str.replaceAll("</JDSComponentface>"," </JDSComponentface>");
bufferedOutputStream=new BufferedOutputStream(new FileOutputStream(objfile,false));
bufferedOutputStream.write(str.getBytes());
bufferedOutputStream.close();*/
}
else
{
return;
}
frameSwing.setTitle(frameSwing.title+" "+objfile.getPath());
}
catch(Exception ioe)
{
ioe.printStackTrace();
}
}
//保存文件
else if(e.getSource()==saveItem)
{
if(saveFile==null)
{
try {
int result = files.showSaveDialog(frameSwing);
File objfile = files.getSelectedFile();
this.saveFile = objfile;
if (objfile != null) {
String filepath = objfile.getPath();
//添加扩展名
if (!filepath.endsWith("edr")) {
filepath = filepath + ".edr";
}
objfile = new File(filepath);
if (!objfile.exists())
objfile.createNewFile();
else {
objfile.delete();
objfile.createNewFile();
}
//生成XML文档
BufferedOutputStream bufferedOutputStream = new
BufferedOutputStream(new FileOutputStream(objfile, false));
String str1 = "<?xml version=\"1.0\" encoding=\"" + encoding +
"\"?>" + newline;
String str2 = "<dramflow>" + newline;
String str3 = "</dramflow>" + newline;
bufferedOutputStream.write(str1.getBytes());
bufferedOutputStream.write(str2.getBytes());
bufferedOutputStream.write(str3.getBytes());
bufferedOutputStream.close();
//写入XML文档
jDSXMLReadWriteface.insertElement(objfile,jDSExtendDesktopface);
//美化XML文档
BufferedInputStream bufferedInputStream = new BufferedInputStream(new
FileInputStream(objfile));
StringBuffer strall = new StringBuffer();
byte[] bytes = new byte[1024];
int n = -1;
while ( (n = bufferedInputStream.read(bytes)) != -1) {
if (n != -1)
strall.append(new String(bytes, 0, n));
}
String str = strall.toString();
str = str.replaceAll("</JDSComponentface>",
" </JDSComponentface>");
bufferedOutputStream = new BufferedOutputStream(new
FileOutputStream(objfile, false));
bufferedOutputStream.write(str.getBytes());
bufferedOutputStream.close();
}
else
{
return;
}
frameSwing.setTitle(frameSwing.title+" "+objfile.getPath());
}
catch (Exception ioe) {
ioe.printStackTrace();
}
}
else
{
try {
//生成XML文档
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new
FileOutputStream(saveFile, false));
String str1 = "<?xml version=\"1.0\" encoding=\"" + encoding + "\"?>" +
newline;
String str2 = "<dramflow>" + newline;
String str3 = "</dramflow>" + newline;
bufferedOutputStream.write(str1.getBytes());
bufferedOutputStream.write(str2.getBytes());
bufferedOutputStream.write(str3.getBytes());
bufferedOutputStream.close();
//写入XML文档
jDSXMLReadWriteface.insertElement(saveFile,jDSExtendDesktopface);
//美化XML文档
BufferedInputStream bufferedInputStream = new BufferedInputStream(new
FileInputStream(saveFile));
StringBuffer strall = new StringBuffer();
byte[] bytes = new byte[1024];
int n = -1;
while ( (n = bufferedInputStream.read(bytes)) != -1) {
if (n != -1)
strall.append(new String(bytes, 0, n));
}
String str = strall.toString();
str = str.replaceAll("</JDSComponentface>", " </JDSComponentface>");
bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(
saveFile, false));
bufferedOutputStream.write(str.getBytes());
bufferedOutputStream.close();
}
catch (Exception ioe) {
ioe.printStackTrace();
}
}
}
//打开文件
else if(e.getSource()==openItem)
{
//读取XML文件
int result = files.showOpenDialog(frameSwing);
if(result==1) return;
File objfile = files.getSelectedFile();
if(objfile==null) return;
saveFile=objfile;
jDSExtendDesktopface.delAllJDSComponent();
jDSExtendDesktopface.delAllJDSLineface();
jDSXMLReadWriteface.openElement(objfile,jDSExtendDesktopface);
jDSExtendDesktopface.repaint();
//设置窗体title
frameSwing.setTitle(frameSwing.title+" "+objfile.getPath());
}
//生成图像
else if(e.getSource()==exportItem)
{
int result = files1.showDialog(frameSwing,"导出成图片");
File objfile = files1.getSelectedFile();
//Description
if (objfile != null) {
String filename = objfile.getPath();
String Description = files1.getFileFilter().getDescription();
Description = Description.substring(2, 5);
if (!filename.endsWith(".gif") && !filename.endsWith(".jpg") && !filename.endsWith(".png")) {
if (Description.endsWith("gif")) {
objfile = new File(filename + ".gif");
}
else if (Description.endsWith("jpg")) {
objfile = new File(filename + ".jpg");
}
else if (Description.endsWith("png")) {
objfile = new File(filename + ".png");
}
}
//保存到指定文件
SaveFileAsImg saveFileAsImg1 = new SaveFileAsImg();
if (saveFileAsImg1.saveFile(jDSExtendDesktopface, objfile, Description,frameSwing)) {
//System.out.println("Save Ok!");
}
}
}
//关闭事件
else if(e.getSource()==closeItem)
{
System.exit(1);
}
//设置组件边框颜色
else if(e.getSource()==setColorLine)
{
Color intColoe=new Color(0,0,0);
Color color=JColorChooser.showDialog(this,"选择颜色",intColoe);
//不设为全局
//jDSExtendDesktopface.setFrameColor(color);
//设为单个
if(jDSExtendDesktopface.getSelectComponentface()!=null && jDSExtendDesktopface.getSelectComponentface().length>0)
{
JDSComponentface[] jDSComponentfaceAllselect=jDSExtendDesktopface.getSelectComponentface();
for(int k=0;k<jDSComponentfaceAllselect.length;k++)
{
jDSComponentfaceAllselect[k].setFrameColor(color);
}
}
//刷新桌面
jDSExtendDesktopface.repaint();
}
//设置组件边框颜色
else if(e.getSource()==setColorCompone)
{
Color intColoe=new Color(0,0,0);
Color color=JColorChooser.showDialog(this,"选择颜色",intColoe);
//不设为全局
//jDSExtendDesktopface.setFillColor(color);
//设为单个
if(jDSExtendDesktopface.getSelectComponentface()!=null && jDSExtendDesktopface.getSelectComponentface().length>0)
{
JDSComponentface[] jDSComponentfaceAllselect=jDSExtendDesktopface.getSelectComponentface();
for(int k=0;k<jDSComponentfaceAllselect.length;k++)
{
jDSComponentfaceAllselect[k].setFillColor(color);
}
}
//刷新桌面
jDSExtendDesktopface.repaint();
}
//
else if (e.getSource() == setLineWidth) {
DSSetupDialog dSSetupDialog = new DSSetupDialog(frameSwing,
jDSExtendDesktopface);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = dSSetupDialog.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
dSSetupDialog.setLocation( (screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
dSSetupDialog.setVisible(true);
}
else if(e.getSource()==aboutItem)
{
JOptionPane jOptionPane=new JOptionPane();
String str1=GetResource.getXMLResource("aboutinfo");
str1=str1.replaceAll(newline,"");
String[] strAll=str1.split("@");
str1="";
for(int i=0;i<strAll.length;i++)
{
str1+=strAll[i].trim()+newline;
}
//str1=strAll.toString();
String str3="联系方式 mail:cuij7718@yahoo.com.cn 网易popo:账号 cuij7718 MSN:cuij7718@hotmail.com";
jOptionPane.showMessageDialog(frameSwing,str1+str3,"关于drawflow3.0 Beta",jOptionPane.DEFAULT_OPTION);
}
//撤销
else if(e.getSource()==unItem)
{
jDSExtendDesktopface.getUnJDS();
jDSExtendDesktopface.repaint();
}
//多组件复制
else if(e.getSource()==copyItem)
{
JDSComponentface[] jDSComponentfaces=jDSExtendDesktopface.getSelectComponentface();
for(int i=0;i<jDSComponentfaces.length;i++)
{
JDSComponentface jDSComponentfaceClone = (JDSComponentface)
jDSComponentfaces[i].cloneComponent();
jDSComponentfaceClone.setPlaceComponent(30, 30);
jDSExtendDesktopface.addJDSComponent(jDSComponentfaceClone);
jDSExtendDesktopface.repaint();
}
}
else if(e.getSource()==delItem)
{
JDSComponentface[] jDSComponentfaces=jDSExtendDesktopface.getSelectComponentface();
JDSLineface[] jDSLinefaces=jDSExtendDesktopface.getJDSAllLineface();
if(jDSComponentfaces!=null && jDSComponentfaces.length>0)
{
frameSwing.getJDSSelectActionface().delSelectComponent(
jDSComponentfaces, jDSExtendDesktopface);
}
else {
frameSwing.getJDSSelectActionface().delSelectLine(jDSLinefaces,
jDSExtendDesktopface);
}
}
else if(e.getSource()==selectAllItem)
{
JDSComponentface[] jDSComponentfaces=jDSExtendDesktopface.getJDSAllComponent();
for(int i=0;i<jDSComponentfaces.length;i++)
{
jDSComponentfaces[i].setIsSelect(true);
}
jDSExtendDesktopface.setSelectComponentface(jDSComponentfaces);
jDSExtendDesktopface.repaint();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -