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

📄 xmldatatypespanel.java

📁 jawe的最新版本,基于Java的图形化工作流编辑器。图形化工作流编辑器 。使用JAVA语言开发
💻 JAVA
字号:
package org.enhydra.jawe.base.panel.panels;import java.awt.Component;import java.awt.Dimension;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.List;import javax.swing.BorderFactory;import javax.swing.Box;import javax.swing.JScrollPane;import org.enhydra.jawe.base.panel.PanelContainer;import org.enhydra.jawe.base.panel.PanelSettings;import org.enhydra.shark.xpdl.XMLElement;import org.enhydra.shark.xpdl.elements.DataTypes;/*** Creates a combo panel and a panel which type is determined by the* choosen element from combo panel.* @author Sasa Bojanic* @author Zoran Milakovic*/public class XMLDataTypesPanel extends XMLBasicPanel {   protected XMLPanel prevPanel=null;   protected XMLPanel emptyPanel;   protected XMLComboPanel pCombo;      public XMLDataTypesPanel (         PanelContainer pc,         DataTypes myOwner,         List choices,         String title,         boolean isEnabled) {      super(pc,myOwner,title,true,false,true);      PanelSettings ps=(PanelSettings)pc.getSettings();      boolean hasBorder = ps.doesXMLDataTypesPanelHasBorder();      Dimension dim=new Dimension(ps.getXMLDataTypesPanelWidth(), ps.getXMLDataTypesPanelHeight());            final JScrollPane jsp=new JScrollPane();      jsp.setAlignmentX(Component.LEFT_ALIGNMENT);      jsp.setAlignmentY(Component.TOP_ALIGNMENT);      pCombo=new XMLComboPanel(pc,myOwner,choices,false,false,false,false,isEnabled);      add(pCombo);      jsp.setPreferredSize(new Dimension(dim));      jsp.setMinimumSize(new Dimension(dim));      if (hasBorder) {         jsp.setBorder(BorderFactory.createEtchedBorder());      } else {         jsp.setBorder(BorderFactory.createEmptyBorder());      }      add(jsp);      emptyPanel=new XMLBasicPanel(pc,myOwner,"",true,false,false);      jsp.setViewportView(emptyPanel);      pCombo.getComboBox().addActionListener(new ActionListener() {         public void actionPerformed(ActionEvent ae) {            if (prevPanel!=null) {//               prevPanel.setElements();               emptyPanel.remove(prevPanel);            }            XMLElement choosen=(XMLElement)pCombo.getSelectedItem();            if (choosen!=null) {               prevPanel=getPanelContainer().getPanelGenerator().getPanel(choosen);               emptyPanel.add(prevPanel);            }            jsp.paintAll(jsp.getGraphics());         }      });      pCombo.getComboBox().setSelectedItem(new XMLElementView(pc,myOwner.getChoosen(),XMLElementView.TONAME));      add(Box.createVerticalGlue());   }   public boolean validateEntry () {      boolean isOK=pCombo.validateEntry();      for (int i=0; i<emptyPanel.getComponentCount(); i++) {         XMLPanel p=(XMLPanel)emptyPanel.getComponent(i);         isOK=isOK && p.validateEntry();      }      return isOK;   }   public void setElements () {      if (!getOwner().isReadOnly()) {         pCombo.setElements();         for (int i=0; i<emptyPanel.getComponentCount(); i++) {            XMLPanel p=(XMLPanel)emptyPanel.getComponent(i);            p.setElements();         }      }   }   public Object getValue () {      return pCombo.getValue();   }   public void cleanup () {      pCombo.cleanup();      for (int i=0; i<emptyPanel.getComponentCount(); i++) {         XMLPanel p=(XMLPanel)emptyPanel.getComponent(i);         p.cleanup();      }   }   }

⌨️ 快捷键说明

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