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

📄 jawexmlutil.java

📁 jawe的最新版本,基于Java的图形化工作流编辑器。图形化工作流编辑器 。使用JAVA语言开发
💻 JAVA
字号:
package org.enhydra.jawe;import java.awt.Component;import java.io.File;import javax.swing.JFileChooser;import javax.swing.JOptionPane;import org.enhydra.jawe.base.controller.JaWEController;/** * Class which purpose is to provide static methods which are * used by classes that represents program apstraction of * XML elements. These methods offers support for reading or * writting an XML document and for generating the tooltips for * for the classes that needs it. */public class JaWEXMLUtil {   // filter for XML files   private static JaWEXMLUtil.XMLFilter allFilter = new JaWEXMLUtil.XMLFilter(null);   private static JaWEXMLUtil.XMLFilter xmlFilter = new JaWEXMLUtil.XMLFilter("xml");   private static JaWEXMLUtil.XMLFilter xpdlFilter = new JaWEXMLUtil.XMLFilter("xpdl");   private static JaWEXMLUtil.XMLFilter jpgFilter = new JaWEXMLUtil.XMLFilter("jpg");   private static JaWEXMLUtil.XMLFilter svgFilter = new JaWEXMLUtil.XMLFilter("svg");   private static JaWEXMLUtil.XMLFilter txtFilter = new JaWEXMLUtil.XMLFilter("txt");   private static javax.swing.filechooser.FileFilter[] lastChoosenFilter=      new javax.swing.filechooser.FileFilter[5];   static {      lastChoosenFilter[0]=xpdlFilter;      lastChoosenFilter[1]=jpgFilter;      lastChoosenFilter[2]=svgFilter;      lastChoosenFilter[3]=txtFilter;      lastChoosenFilter[4]=allFilter;   }   private static JFileChooser chooser;   static {      String userDir=System.getProperty("user.dir");      chooser=new JFileChooser(userDir);   }   public static final int INFORMATION_MESSAGE = JOptionPane.INFORMATION_MESSAGE;   public static final int ERROR_MESSAGE = JOptionPane.ERROR_MESSAGE;   //************************* XMLFILTER CLASS ***********************************   /**    * Used to filter XML files during opening or saving.    */   private static final class XMLFilter extends javax.swing.filechooser.FileFilter {      private String myExtension=null;      XMLFilter (String extension) {         this.myExtension=extension;      }      public String getExtension () {         return myExtension;      }      public boolean accept (File f) {         if(f != null) {            if(f.isDirectory()) {               return true;            }            if (myExtension!=null) {               String extension = null;               String fName = f.getName();               int i = fName.lastIndexOf('.');               if(i>0 && i<fName.length()-1) {                  extension=fName.substring(i+1).toLowerCase();               }               if(extension != null && extension.equalsIgnoreCase(myExtension)) {                  return true;               }            } else {               return true;            }         }         return false;      }      public String getDescription () {         JaWEController jc=JaWEManager.getInstance().getJaWEController();         if (myExtension!=null) {            return jc.getSettings().getLanguageDependentString(myExtension.toUpperCase()+"Description");         }          return jc.getSettings().getLanguageDependentString("ALLDescription");               }   }   //********************** END OF XMLFILTER CLASS ******************************   /* Show a dialog with the given error message. */   public static void message(String message,int type) {      JaWEController jc=JaWEManager.getInstance().getJaWEController();      JOptionPane.showMessageDialog(jc.getJaWEFrame(),message,            jc.getSettings().getLanguageDependentString("DialogTitle"),type);   }   /* Open a dialog and return the filename. Returns null if canceled.    * @param parent    The parent component of dialog.    * @param message   The message to write in the title of dialog    * @param mode      0 - open dialog, 1 - save dialog    * @param filteringMode if 0 - displays .xml and .xpdl files, if 1 - displays    *   .jpg files, 2 - displays SVG files, 3 - displays .xml and .xpdl files,    *  otherwise displays all files    * @param initialName The initial name of the file to be saved or opened    * @return The filename of opened/saved file.    */   public static String dialog(Component parent,String message,                               int mode,int filteringMode,String initialName) {      chooser.updateUI();      chooser.setDialogTitle(message);      int setFilterIndex = 0;      switch (filteringMode) {         case 0:            chooser.setAcceptAllFileFilterUsed(false);            chooser.setFileFilter(allFilter);            chooser.setFileFilter(xmlFilter);            chooser.setFileFilter(xpdlFilter);            chooser.removeChoosableFileFilter(jpgFilter);            chooser.removeChoosableFileFilter(svgFilter);            chooser.removeChoosableFileFilter(txtFilter);            setFilterIndex = 0;            break;         case 1:            chooser.setAcceptAllFileFilterUsed(false);            chooser.setFileFilter(allFilter);            chooser.setFileFilter(jpgFilter);            chooser.removeChoosableFileFilter(xmlFilter);            chooser.removeChoosableFileFilter(xpdlFilter);            chooser.removeChoosableFileFilter(svgFilter);            chooser.removeChoosableFileFilter(txtFilter);            setFilterIndex = 1;            break;         case 2:            chooser.setAcceptAllFileFilterUsed(false);            chooser.setFileFilter(allFilter);            chooser.setFileFilter(svgFilter);            chooser.removeChoosableFileFilter(xmlFilter);            chooser.removeChoosableFileFilter(xpdlFilter);            chooser.removeChoosableFileFilter(jpgFilter);            chooser.removeChoosableFileFilter(txtFilter);            setFilterIndex = 2;            break;         case 3:            chooser.setAcceptAllFileFilterUsed(false);            chooser.setFileFilter(allFilter);            chooser.setFileFilter(txtFilter);            chooser.removeChoosableFileFilter(xmlFilter);            chooser.removeChoosableFileFilter(xpdlFilter);            chooser.removeChoosableFileFilter(jpgFilter);            chooser.removeChoosableFileFilter(svgFilter);            setFilterIndex = 3;            break;         default:            chooser.setAcceptAllFileFilterUsed(false);            chooser.setFileFilter(allFilter);            chooser.removeChoosableFileFilter(xmlFilter);            chooser.removeChoosableFileFilter(xpdlFilter);            chooser.removeChoosableFileFilter(jpgFilter);            chooser.removeChoosableFileFilter(svgFilter);            chooser.removeChoosableFileFilter(txtFilter);            setFilterIndex = 4;            break;      }      try {         chooser.setFileFilter(lastChoosenFilter[setFilterIndex]);      } catch (Exception ex) {}      if (initialName!=null && initialName.length()>0) {         File f=new File(initialName);         chooser.setSelectedFile(f);         chooser.ensureFileIsVisible(f);      }      int returnVal=-1;      String fileName=null;      while (true) {         if (mode==0) {            returnVal = chooser.showOpenDialog(parent);         }         else {            returnVal = chooser.showSaveDialog(parent);         }         if(returnVal == JFileChooser.APPROVE_OPTION) {            File f=chooser.getSelectedFile();            fileName=f.getAbsolutePath();            // SAVING:            // - if extension isn't specified, tries to save the file with default extension            // - it will not save file with extension if the file with extension already exists            String extension=((JaWEXMLUtil.XMLFilter)chooser.getFileFilter()).getExtension();            int dotIndex=f.getName().lastIndexOf(".");            String oldFilename=fileName;            JaWEController jc=JaWEManager.getInstance().getJaWEController();            if (mode==1) {               if ((filteringMode>=0 && filteringMode<=2) && extension!=null &&                   dotIndex==-1) {                  fileName+="."+extension;               }               // check if user have choosed an existing filename               if (new File(fileName).exists()) {                  int r=JOptionPane.showConfirmDialog(jc.getJaWEFrame(),                        jc.getSettings().getLanguageDependentString("WarningFileAlreadyExistsDoYouWantToReplaceIt"),                        jc.getSettings().getLanguageDependentString("DialogTitle"),JOptionPane.YES_NO_OPTION);                  if (r==JOptionPane.NO_OPTION) {                     fileName=oldFilename;                     continue;                  }               }               // OPENING:               // - if extension isn't specified, and given file doesn't exist, tries               //   to open the .xml file with the same name            } else {               if (mode==0 && !f.exists()) {                  if ((filteringMode>=0 && filteringMode<=2) && dotIndex==-1) {                     fileName+="."+extension;                     if (!new File(fileName).exists()) {                        fileName=null;                     }                  } else {                     fileName=null;                  }               }               if (fileName==null) {                  JaWEXMLUtil.message(                        jc.getSettings().getLanguageDependentString("WarningFileDoesNotExistPleaseSelectExistingFileToOpen"),                     JOptionPane.WARNING_MESSAGE);                  fileName=oldFilename;                  continue;               }            }         }         break;      }      try {         lastChoosenFilter[setFilterIndex]=chooser.getFileFilter();      } catch (Exception ex) {}      return fileName;   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -