⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsmenubar.java

📁 用JAVA编写的绘图程序 功能简介: 支持存储
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
  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 + -