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

📄 barfactory.java

📁 jawe的最新版本,基于Java的图形化工作流编辑器。图形化工作流编辑器 。使用JAVA语言开发
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package org.enhydra.jawe;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.KeyEvent;import java.lang.reflect.Constructor;import javax.swing.Action;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPopupMenu;import javax.swing.JToolBar;import javax.swing.KeyStroke;import javax.swing.SwingConstants;import org.enhydra.jawe.base.controller.JaWEType;import org.enhydra.jawe.base.controller.JaWETypeChoiceButton;public class BarFactory {   public final static String CLASSNAME_POSTFIX = "ClassName";   public final static String SETTINGSNAME_POSTFIX = "SettingsName";   public final static String ACCELERATION_POSTFIX = "Accel";   public final static String MNEMONIC_POSTFIX = "Mnemonic";   public final static String LABEL_POSTFIX = "Label";   public final static String TOOLTIP_POSTFIX = "Tooltip";   public final static String LANGUAGEDEPENDENTNAME_POSTFIX = "LangName";   public final static String JAWE_STANDARD_MENU_PREFIX = "jawe_";   public final static String JAWE_STANDARD_ACTION_PREFIX = "jaweAction_";   public final static String JAWECOMPONENT_AS_MENU_PREFIX = "@";   public final static String SUBMENU_PREFIX = "*";   public final static String ACTION_DELIMITER = " ";   public final static String ACTION_SEPARATOR = "-";   public final static String CTRL_PREFIX = "CTRL";   public final static String SHIFT_PREFIX = "SHIFT";   public final static String ALT_PREFIX = "ALT";   public static JMenuBar createMainMenu(JaWEComponent comp) {      JMenuBar mbar = new JMenuBar();      String actionOrder = comp.getSettings().getMainMenuActionOrder();      String[] act = Utils.tokenize(actionOrder, ACTION_DELIMITER);      for (int i = 0; i < act.length; i++) {         if (act[i].startsWith(JAWECOMPONENT_AS_MENU_PREFIX)) {            String className = (String) comp.getSettings()               .getSetting(act[i].substring(1) + CLASSNAME_POSTFIX);            String settingsName = (String) comp.getSettings()               .getSetting(act[i].substring(1) + SETTINGSNAME_POSTFIX);            JMenu subMenu = getExternalMenu(className, settingsName);            if (subMenu != null) {               BarFactory.setAccelerator(subMenu, comp.getSettings()                  .getLanguageDependentString(act[i].substring(1) + ACCELERATION_POSTFIX));               BarFactory.setMnemonic(subMenu, comp.getSettings()                  .getLanguageDependentString(act[i].substring(1) + MNEMONIC_POSTFIX));               mbar.add(subMenu);            }         } else if (act[i].startsWith(JAWE_STANDARD_MENU_PREFIX)) {            mbar.add(JaWEManager.getInstance()               .getJaWEController()               .getJaWEActions()               .getActionMenu(act[i], true));         } else if (act[i].startsWith(JAWE_STANDARD_ACTION_PREFIX)) {            mbar.add(JaWEManager.getInstance()               .getJaWEController()               .getJaWEActions()               .getActionMenuItem(act[i].substring(11), true));         } else if (act[i].startsWith(SUBMENU_PREFIX)) {            JMenu sm = createSubMenu(act[i].substring(1), comp, true);            if (sm != null) {               mbar.add(sm);            }         } else {            JaWEAction ja = comp.getSettings().getAction(act[i]);            if (ja != null) {               mbar.add(createMenuItem(ja, comp, true));            }         }      }      return mbar;   }   public static JPopupMenu createPopupMenu(String popupMenuName, JaWEComponent comp) {      String actionOrder = comp.getSettings().getMenuActionOrder(popupMenuName);      return createMenu(actionOrder, comp, false).getPopupMenu();   }   public static JToolBar createToolbar(String toolbarName, JaWEComponent comp) {      String actionOrder = comp.getSettings().getToolbarActionOrder(toolbarName);      JToolBar toolbar = new JToolBar();      toolbar.setRollover(true);      String[] act = Utils.tokenize(actionOrder, ACTION_DELIMITER);      for (int i = 0; i < act.length; i++) {         if (act[i].equals(ACTION_SEPARATOR)) {            toolbar.addSeparator();         } else if (act[i].startsWith(JAWE_STANDARD_MENU_PREFIX)) {            toolbar.add(JaWEManager.getInstance()               .getJaWEController()               .getJaWEActions()               .getActionToolbar(act[i]));         } else if (act[i].startsWith(JAWE_STANDARD_ACTION_PREFIX)) {            toolbar.add(JaWEManager.getInstance()               .getJaWEController()               .getJaWEActions()               .getActionButton(act[i].substring(11)));         } else if (act[i].startsWith(SUBMENU_PREFIX)) {            toolbar.add(createToolbar(act[i].substring(1), comp));         } else {            JaWEAction ja = comp.getSettings().getAction(act[i]);            if (ja != null) {               toolbar.add(createToolbarButton(ja, comp));            }         }      }      toolbar.setName(comp.getSettings().getLanguageDependentString(toolbarName                                                                    + LABEL_POSTFIX));      return toolbar;   }   public static JButton createToolbarButton(JaWEAction ja, JaWEComponent comp) {      Action a = ja.getAction();      String aname = null;      if (a != null) {         aname = (String) a.getValue(Action.NAME);      }      String depName = ja.getLangDepName();      String label = comp.getSettings().getLanguageDependentString(depName                                                                   + LABEL_POSTFIX);      if (aname == null) {         aname = depName;      }      if (label == null) {         label = aname;      }      JButton b = null;      ImageIcon ai = ja.getIcon();      if (ai != null) {         if (a instanceof NewActionBase && comp instanceof ChoiceButtonListener) {            b = new JaWETypeChoiceButton(JaWEType.class,                                         ((NewActionBase) a).getXPDLTypeClass(),                                         ((NewActionBase) a).getXPDLTypeClassParentForEA(),                                         (ChoiceButtonListener) comp,                                         ai);         } else {            b = new JButton(ai) {               public float getAlignmentY() {                  return 0.5f;               }            };         }      } else {         if (a instanceof NewActionBase && comp instanceof ChoiceButtonListener) {            b = new JaWETypeChoiceButton(JaWEType.class,                                         ((NewActionBase) a).getXPDLTypeClass(),                                         ((NewActionBase) a).getXPDLTypeClassParentForEA(),                                         (ChoiceButtonListener) comp,                                         ai);         } else {            b = new JButton(label) {               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 = comp.getSettings().getLanguageDependentString(depName                                                                 + TOOLTIP_POSTFIX);      if (tip != null) {         b.setToolTipText(tip);      }      return b;   }   protected static JMenu createMenu(String actionOrder,                                     JaWEComponent comp,                                     boolean addBCListener) {      JMenu menu = new JMenu();

⌨️ 快捷键说明

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