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

📄 jaweactions.java

📁 jawe的最新版本,基于Java的图形化工作流编辑器。图形化工作流编辑器 。使用JAVA语言开发
💻 JAVA
字号:
/** * Miroslav Popov, Sep 19, 2005 miroslav.popov@gmail.com */package org.enhydra.jawe.base.controller;import java.awt.Insets;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import javax.swing.AbstractButton;import javax.swing.Action;import javax.swing.JButton;import javax.swing.JMenu;import javax.swing.JMenuItem;import javax.swing.JToolBar;import javax.swing.SwingConstants;import org.enhydra.jawe.ActionBase;import org.enhydra.jawe.BarFactory;import org.enhydra.jawe.ButtonPropertyChangedListener;import org.enhydra.jawe.JaWEComponent;import org.enhydra.jawe.Utils;import org.enhydra.jawe.base.controller.actions.defaultactions.Copy;import org.enhydra.jawe.base.controller.actions.defaultactions.Cut;import org.enhydra.jawe.base.controller.actions.defaultactions.Delete;import org.enhydra.jawe.base.controller.actions.defaultactions.Duplicate;import org.enhydra.jawe.base.controller.actions.defaultactions.EditProperties;import org.enhydra.jawe.base.controller.actions.defaultactions.New;import org.enhydra.jawe.base.controller.actions.defaultactions.Paste;import org.enhydra.jawe.base.controller.actions.defaultactions.Redo;import org.enhydra.jawe.base.controller.actions.defaultactions.Undo;/** * @author Miroslav Popov */public class JaWEActions {   public static final String EDIT_TOOLBAR = "jawe_edittoolbar";   public static final String UNDO_REDO_TOOLBAR = "jawe_undoredo_toolbar";   public static final String EDIT_MENU = "jawe_editmenu";   public static final String NEW_ACTION = "New";   public static final String DUPLICATE_ACTION = "Duplicate";   public static final String REFERENCES = "References";   public static final String UNDO_ACTION = "Undo";   public static final String REDO_ACTION = "Redo";   public static final String CUT_ACTION = "Cut";   public static final String COPY_ACTION = "Copy";   public static final String PASTE_ACTION = "Paste";   public static final String DELETE_ACTION = "Delete";   public static final String EDIT_PROPERTIES_ACTION = "EditProperties";   protected JaWEController controller;   protected Map commands = new HashMap();   public JaWEActions(JaWEController controller) {      this.controller = controller;   }   public void init() {      Undo undo = new Undo(controller);      Redo redo = new Redo(controller);      Cut cut = new Cut(controller);      Copy copy = new Copy(controller);      Paste paste = new Paste(controller);      Delete delete = new Delete(controller);      EditProperties eprop = new EditProperties(controller);      New newA = new New(controller);      Duplicate duplicate = new Duplicate(controller);      Action references = null;      String clsName = "org.enhydra.jawe.base.controller.actions.defaultactions.References";      try {         references = (ActionBase) Class.forName(clsName).getConstructor(new Class[] {            JaWEComponent.class         }).newInstance(new Object[] {            controller         });      } catch (Exception e) {      }      commands.put(JaWEActions.NEW_ACTION, newA);      commands.put(JaWEActions.DUPLICATE_ACTION, duplicate);      commands.put(JaWEActions.REFERENCES, references);      commands.put(JaWEActions.UNDO_ACTION, undo);      commands.put(JaWEActions.REDO_ACTION, redo);      commands.put(JaWEActions.CUT_ACTION, cut);      commands.put(JaWEActions.COPY_ACTION, copy);      commands.put(JaWEActions.PASTE_ACTION, paste);      commands.put(JaWEActions.DELETE_ACTION, delete);      commands.put(JaWEActions.EDIT_PROPERTIES_ACTION, eprop);   }   public Map getCommands() {      return new HashMap(commands);   }   public ActionBase getAction(String action_name) {      if (action_name == null)         return null;      return (ActionBase) commands.get(action_name);   }   public void disableAction(String action_name) {      Action a = (Action) commands.get(action_name);      if (a != null)         a.setEnabled(false);   }   public void enableAction(String action_name) {      Action a = (Action) commands.get(action_name);      if (a != null)         a.setEnabled(true);   }   public JButton getActionButton(String action_name) {      Action a = (Action) commands.get(action_name);      String aname = action_name;      if (a != null) {         aname = (String) a.getValue(Action.NAME);      }      // String label = controller.getSettings().getLanguageDependentString(aname +      // BarFactory.LABEL_POSTFIX);      // if (label == null) {      // label = aname;      // }      JButton b = null;      // if (a instanceof NewActionBase) {      // ImageIcon curIc = controller.getControllerSettings().getIconFor(action_name);      // b = new JaWETypeChoiceButton(JaWEType.class,      // ((NewActionBase)a).getXPDLTypeClass(), controller, curIc);      // } else {      b = new JButton(controller.getControllerSettings().getIconFor(action_name)) {         public float getAlignmentY() {            return 0.5f;         }      };      // }      b.setName(aname);      b.setMargin(new Insets(1, 1, 1, 1));      b.setRequestFocusEnabled(false);      b.setActionCommand(aname);      if (a != null) {         b.addActionListener(a);         b.setEnabled(a.isEnabled());         a.addPropertyChangeListener(new ButtonPropertyChangedListener(b));      } else {         b.setEnabled(false);      }      String tip = controller.getSettings()         .getLanguageDependentString(aname + BarFactory.TOOLTIP_POSTFIX);      if (tip != null) {         b.setToolTipText(tip);      }      return b;   }   public JMenuItem getActionMenuItem(String action_name, boolean addBCListener) {      Action a = (Action) commands.get(action_name);      String aname = action_name;      if (a != null) {         aname = (String) a.getValue(Action.NAME);      }      String label = controller.getSettings()         .getLanguageDependentString(aname + BarFactory.LABEL_POSTFIX);      if (label == null) {         label = aname;      }      JMenuItem mi = new JMenuItem(label);      mi.setName(aname);      mi.setHorizontalTextPosition(SwingConstants.RIGHT);      mi.setIcon(controller.getControllerSettings().getIconFor(action_name));      BarFactory.setAccelerator(mi, controller.getSettings()         .getLanguageDependentString(aname + BarFactory.ACCELERATION_POSTFIX));      BarFactory.setMnemonic(mi, controller.getSettings()         .getLanguageDependentString(aname + BarFactory.MNEMONIC_POSTFIX));      mi.setActionCommand(aname);      if (a != null) {         mi.addActionListener(a);         if (addBCListener) {            a.addPropertyChangeListener(new ButtonPropertyChangedListener(mi));         }         mi.setEnabled(a.isEnabled());      } else {         mi.setEnabled(false);      }      return mi;   }   public JToolBar getActionToolbar(String toolbar_name) {      if (toolbar_name == null)         return null;      JToolBar tcomp = new JToolBar();      tcomp.putClientProperty("JToolBar.isRollover", Boolean.TRUE);      if (toolbar_name.equals(JaWEActions.EDIT_TOOLBAR)) {         String actionOrder = controller.getControllerSettings()            .getDefaultActionsEditOrder();         String[] act = Utils.tokenize(actionOrder, BarFactory.ACTION_DELIMITER);         for (int i = 0; i < act.length; i++) {            if (act[i].equals(BarFactory.ACTION_SEPARATOR)) {               tcomp.addSeparator();            } else {               AbstractButton co = getActionButton(act[i]);               if (co != null)                  tcomp.add(co);            }         }         tcomp.setName(controller.getSettings()            .getLanguageDependentString("editToolbar" + BarFactory.LABEL_POSTFIX));      } else if (toolbar_name.equals(JaWEActions.UNDO_REDO_TOOLBAR)) {         tcomp.add(getActionButton(JaWEActions.UNDO_ACTION));         tcomp.add(getActionButton(JaWEActions.REDO_ACTION));      }      return tcomp;   }   public JMenu getActionMenu(String menu_name, boolean addBCListener) {      if (menu_name == null)         return null;      JMenu mcomp = new JMenu();      if (menu_name.equals(JaWEActions.EDIT_MENU)) {         mcomp.setText(controller.getSettings()            .getLanguageDependentString("edit" + BarFactory.LABEL_POSTFIX));         BarFactory.setMnemonic(mcomp, controller.getSettings()            .getLanguageDependentString("edit" + BarFactory.MNEMONIC_POSTFIX));         String actionOrder = controller.getControllerSettings()            .getDefaultActionsEditOrder();         String[] act = Utils.tokenize(actionOrder, BarFactory.ACTION_DELIMITER);         for (int i = 0; i < act.length; i++) {            if (act[i].equals(BarFactory.ACTION_SEPARATOR)) {               mcomp.addSeparator();            } else {               JMenuItem mi = getActionMenuItem(act[i], addBCListener);               if (mi != null)                  mcomp.add(mi);            }         }      }      return mcomp;   }   public void enableDisableActions() {      for (Iterator it = commands.values().iterator(); it.hasNext();) {         ActionBase ab=(ActionBase)it.next();         if (ab!=null) {            ab.enableDisableAction();         }      }   }}

⌨️ 快捷键说明

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