亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? workfloweditor.java

?? 一個很好實用的工作流OSWORKFLOW開發例子.有著非常優秀的靈活性.
?? JAVA
字號:
package com.opensymphony.workflow.designer.editor;import javax.swing.*;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import com.jgoodies.forms.layout.FormLayout;import com.jgoodies.forms.layout.CellConstraints;import com.jgoodies.forms.builder.PanelBuilder;import com.opensymphony.workflow.designer.dialogs.AttributeDialog;import com.opensymphony.workflow.designer.WorkflowDesigner;import com.opensymphony.workflow.designer.UIFactory;import com.opensymphony.workflow.designer.Utils; import com.opensymphony.workflow.designer.ResourceManager;import com.opensymphony.workflow.designer.beanutils.BeanConnector;import com.opensymphony.workflow.designer.model.AttributesTableModel;import com.opensymphony.workflow.designer.model.RegistersTableModel;import com.opensymphony.workflow.designer.model.TriggersTableModel;import com.opensymphony.workflow.loader.WorkflowDescriptor;import com.opensymphony.workflow.loader.RegisterDescriptor;import com.opensymphony.workflow.loader.FunctionDescriptor;public class WorkflowEditor extends DetailPanel implements ActionListener{	private static final String[] BUTTONS = new String[]{"add", "remove", "edit"};	private JTextField name = new JTextField();		private AttributesTableModel attributesModel = new AttributesTableModel();	private JTable attributesTable;	private RegistersTableModel registersModel = new RegistersTableModel();	private JTable registersTable;	private TriggersTableModel triggersModel = new TriggersTableModel();	private JTable triggersTable;	private BeanConnector connector = new BeanConnector();	  public WorkflowEditor()  {  }  protected void initComponents()  {		String colLayout = "2dlu, max(32dlu;pref), 2dlu, pref:grow, 4dlu";		String rowLayout = "4dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref";				JTabbedPane tabbedPane = new JTabbedPane();		CellConstraints cc = new CellConstraints();        FormLayout layout = new FormLayout("2dlu, 50dlu:grow, 2dlu", "2dlu, pref, 2dlu");    PanelBuilder builder = new PanelBuilder(this, layout);    		/////////////////////////////		// Tab1 (Info)		/////////////////////////////		FormLayout layoutInfo = new FormLayout(colLayout, rowLayout);		JPanel panelInfo = new JPanel();		PanelBuilder builderInfo = new PanelBuilder(panelInfo, layoutInfo);    		builderInfo.addLabel(ResourceManager.getString("name"), cc.xy(2, 4));		connector.connect(name, "name");		builderInfo.add(name, cc.xy(4, 4));		tabbedPane.add(ResourceManager.getString("info"), panelInfo);				///////////////////////////		// Tab2 (meta attributes)		///////////////////////////		FormLayout layoutAttrib = new FormLayout(colLayout, rowLayout);		JPanel panelAttrib = new JPanel();		PanelBuilder builderAttrib = new PanelBuilder(panelAttrib, layoutAttrib);				attributesTable = new JTable(attributesModel);		attributesTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 				//attributesModel.setGraphModel(getModel());		builderAttrib.add(UIFactory.createTablePanel(attributesTable), cc.xywh(2, 2, 3, 1));		// 2, 15, 3, 1		builderAttrib.add(UIFactory.getAddRemovePropertiesBar(this, "attribute", BUTTONS), cc.xywh(2, 4, 3, 1));	// 2, 16, 3, 1				tabbedPane.add(ResourceManager.getString("attributes"), panelAttrib);				//////////////////////////		// Tab3 (registers)		//////////////////////////		FormLayout layoutRegisters = new FormLayout(colLayout, rowLayout);		JPanel panelRegisters = new JPanel();		PanelBuilder builderRegisters = new PanelBuilder(panelRegisters, layoutRegisters);				registersTable = new JTable(registersModel);		registersTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);		registersModel.setGraphModel(getModel());		builderRegisters.add(UIFactory.createTablePanel(registersTable), cc.xywh(2, 2, 3, 1));		// 2, 20, 3, 1		builderRegisters.add(UIFactory.getAddRemovePropertiesBar(this, "register", BUTTONS), cc.xywh(2, 4, 3, 1));	// 2, 21, 3, 1				tabbedPane.add(ResourceManager.getString("registers"), panelRegisters);				//////////////////////////		// Tab4 (trigger-functions)		//////////////////////////		FormLayout layoutTriggers = new FormLayout(colLayout, rowLayout);		JPanel panelTriggers = new JPanel();		PanelBuilder builderTriggers = new PanelBuilder(panelTriggers, layoutTriggers);				triggersTable = new JTable(triggersModel);		triggersTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);		triggersModel.setGraphModel(getModel());		builderTriggers.add(UIFactory.createTablePanel(triggersTable), cc.xywh(2, 2, 3, 1));		builderTriggers.add(UIFactory.getAddRemovePropertiesBar(this, "trigger", BUTTONS), cc.xywh(2, 4, 3, 1));				tabbedPane.add(ResourceManager.getString("triggerfunctions"), panelTriggers);				builder.add(tabbedPane, cc.xy(2,2));      }		public void actionPerformed(ActionEvent e)	{		String command = e.getActionCommand().toLowerCase();		if(command.equals("attributeadd"))		{			attributeadd();		}		else if(command.equals("attributeremove"))		{			attributeremove();		}		else if(command.equals("attributeedit"))		{			attributemodify();		}		else if(command.equals("registeradd"))		{			registeradd();		}		else if(command.equals("registerremove"))		{			registerremove();		}		else if(command.equals("registeredit"))		{			registermodify();		}		else if(command.equals("triggeradd"))		{			triggeradd();		}		else if(command.equals("triggerremove"))		{			triggerremove();		}		else if(command.equals("triggeredit"))		{			triggermodify();		}	}	public String getTitle()	{		return ResourceManager.getString("title.workflow", new Object[]{((WorkflowDescriptor)getDescriptor()).getName()});	}	protected void viewClosed()	{		if (registersTable.isEditing())		{			registersTable.getCellEditor().stopCellEditing();		}		else if (attributesTable.isEditing())		{			attributesTable.getCellEditor().stopCellEditing();		}		else if (triggersTable.isEditing())		{			triggersTable.getCellEditor().stopCellEditing();		}	}		protected void updateView()	{		WorkflowDescriptor workflowDescriptor = (WorkflowDescriptor)getDescriptor();				attributesModel.setMap(workflowDescriptor.getMetaAttributes());		attributesTable.getSelectionModel().clearSelection();					registersModel.setList(workflowDescriptor.getRegisters());		registersTable.getSelectionModel().clearSelection(); 				triggersModel.setMap(workflowDescriptor.getTriggerFunctions());		triggersTable.getSelectionModel().clearSelection(); 				connector.setSource(workflowDescriptor);		connector.setPanel(this);	}		private void attributeadd()	{		AttributeDialog dlg = new AttributeDialog(WorkflowDesigner.INSTANCE, "", "", true);		if (dlg.ask(WorkflowDesigner.INSTANCE))		{			String sKey = dlg.keyField.getText();			String sValue = dlg.valueField.getText();			if (sKey.length()>0)			{				attributesModel.add(sKey, sValue);			}		}	}	private void attributeremove()	{		int[] rows = attributesTable.getSelectedRows();		for(int i = 0; i < rows.length; i++)		{			String sKey = (String)attributesModel.getValueAt(rows[i], 0);			attributesModel.remove(sKey);		}			}	private void attributemodify()	{		int[] rows = attributesTable.getSelectedRows();		for(int i = 0; i < rows.length; i++)		{			attributemodify(rows[i]);		}	}	private void attributemodify(int selected)	{		String sKey = (String)attributesModel.getValueAt(selected, 0);		String sValue = (String)attributesModel.getValueAt(selected, 1);		if ((sKey!=null)&&(sKey.length()>0))		{			AttributeDialog dlg = new AttributeDialog(WorkflowDesigner.INSTANCE, sKey, sValue, false);			if (dlg.ask(WorkflowDesigner.INSTANCE))			{				sValue = dlg.valueField.getText();				attributesModel.add(sKey, sValue);			}		}	}	private void registeradd()	{		RegisterEditor editor = new RegisterEditor(getDescriptor());		editor.setModel(getModel());		RegisterDescriptor reg = editor.add();		if (reg!=null)		{			registersModel.add(reg);		}	}	private void registerremove()	{		int[] rows = registersTable.getSelectedRows();		for(int i = 0; i < rows.length; i++)		{			registersModel.remove(rows[i]);		}	}	private void registermodify()	{		int[] rows = registersTable.getSelectedRows();		for(int i = 0; i < rows.length; i++)		{			registermodify(rows[i]);		}	}	private void registermodify(int selected)	{		RegisterDescriptor reg = (RegisterDescriptor)registersModel.get(selected);		RegisterEditor editor = new RegisterEditor(getDescriptor());		editor.setModel(getModel());		editor.modify(reg);		registersModel.fireTableDataChanged();	}	private void triggeradd()	{		TriggerFunctionEditor editor = new TriggerFunctionEditor((WorkflowDescriptor)getDescriptor());		editor.setModel(getModel());		FunctionDescriptor func = editor.add();		if (func!=null)		{			//Utils.checkId(getModel().getContext(), func);					func.setId(Utils.getNextId(getModel().getContext()));			Utils.checkId(getModel().getContext(), func);			triggersModel.add(new Integer(func.getId()), func);		}	}	private void triggerremove()	{		int[] rows = triggersTable.getSelectedRows();		for(int i = 0; i < rows.length; i++)		{			Integer idKey = new Integer(Integer.parseInt((String)triggersModel.getValueAt(rows[i], 0)));			triggersModel.remove(idKey);		}		}	private void triggermodify()	{		int[] rows = triggersTable.getSelectedRows();		for(int i = 0; i < rows.length; i++)		{			triggermodify(rows[i]);		}			}	private void triggermodify(int selected)	{		Integer idKey = new Integer(Integer.parseInt((String)triggersModel.getValueAt(selected, 0)));		FunctionDescriptor func = (FunctionDescriptor)triggersModel.get(idKey);		if (func!=null)		{			TriggerFunctionEditor editor = new TriggerFunctionEditor((WorkflowDescriptor)getDescriptor());			editor.setModel(getModel());			editor.modify(func);			triggersModel.fireTableDataChanged();		}			}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看成人小视频| 欧美成人video| 中文字幕一区免费在线观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 日韩在线a电影| 欧美日韩高清一区二区不卡| 亚洲一区二区三区小说| 91丨porny丨户外露出| 18欧美乱大交hd1984| 成人晚上爱看视频| 最新中文字幕一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 欧美性大战久久| 日韩电影一二三区| 欧美变态tickle挠乳网站| 免费在线观看视频一区| 欧美一区二区三区成人| 九九**精品视频免费播放| 久久久影视传媒| 丁香一区二区三区| 亚洲丝袜制服诱惑| 日本高清免费不卡视频| 国产精品麻豆99久久久久久| youjizz久久| 一区二区三区日韩精品视频| 精品1区2区3区| 天天影视涩香欲综合网| 精品国产一二三区| 成人免费视频网站在线观看| 亚洲欧美怡红院| 欧美日韩高清一区二区不卡| 成人丝袜18视频在线观看| 成人性生交大片免费看中文 | 欧美激情一区在线| 成人不卡免费av| 亚洲一区二区三区影院| 日韩一区二区三| 秋霞电影一区二区| 日本一区二区三区高清不卡| 色哟哟一区二区在线观看| 偷拍一区二区三区四区| 国产性色一区二区| 成人美女视频在线观看| 亚洲sss视频在线视频| 精品久久久三级丝袜| 成人精品免费视频| 日韩精品成人一区二区在线| 国产亚洲精品资源在线26u| 91同城在线观看| 韩国一区二区在线观看| 一区二区三区国产豹纹内裤在线| 日韩视频中午一区| 91首页免费视频| 亚洲欧美aⅴ...| 亚洲精品在线一区二区| 国产99久久久久| 水野朝阳av一区二区三区| 国产亚洲精品aa| 欧美美女激情18p| 麻豆精品新av中文字幕| 亚洲精品日日夜夜| 久久久久久久综合日本| 精品视频在线免费看| 国内精品视频666| 亚洲资源中文字幕| 国产精品婷婷午夜在线观看| 69堂亚洲精品首页| 欧美在线你懂得| 麻豆精品视频在线观看| 伊人开心综合网| 国产午夜亚洲精品羞羞网站| 3d成人h动漫网站入口| 91丨porny丨户外露出| 国产v综合v亚洲欧| 精品一区二区精品| 亚洲另类中文字| 最新热久久免费视频| 国产午夜亚洲精品不卡| 精品三级av在线| 日韩亚洲国产中文字幕欧美| 91电影在线观看| 99国产一区二区三精品乱码| 国产精品 欧美精品| 蜜桃久久久久久| 成人午夜免费电影| 美女一区二区在线观看| 香蕉加勒比综合久久| 亚洲在线中文字幕| 亚洲国产欧美在线| 亚洲一区在线观看网站| 一区二区三区精品视频在线| 国产精品国产成人国产三级| 欧美成人aa大片| 日韩一区二区电影在线| 欧美一区二区三区人| 日韩三级电影网址| 日韩视频免费直播| 精品少妇一区二区三区在线视频| 在线日韩一区二区| 欧美午夜视频网站| 欧美老女人第四色| 91精品欧美综合在线观看最新| 91.麻豆视频| 欧美丰满美乳xxx高潮www| 在线观看91av| 欧美大白屁股肥臀xxxxxx| 26uuu亚洲综合色| 2022国产精品视频| 日本一区二区动态图| 亚洲欧洲三级电影| 一区二区在线观看视频| 天天av天天翘天天综合网色鬼国产| 久久久久久电影| 国产精品毛片久久久久久久| 午夜精品久久久久影视| 成人永久aaa| 欧美精品123区| 亚洲欧洲国产专区| 蜜桃av一区二区| 91蜜桃视频在线| 26uuu色噜噜精品一区二区| 一区二区三区日韩欧美| 国产精品亚洲第一区在线暖暖韩国| 在线免费亚洲电影| 国产亚洲精品资源在线26u| 午夜精品免费在线观看| 99免费精品在线| 2014亚洲片线观看视频免费| 亚洲成在线观看| 91免费观看在线| 国产视频在线观看一区二区三区| 日韩精品一二区| 日本久久精品电影| 国产婷婷精品av在线| 奇米色一区二区三区四区| 91免费精品国自产拍在线不卡| 久久综合资源网| 蜜桃久久精品一区二区| 欧美日韩一区二区三区在线看| 国产精品毛片a∨一区二区三区| 久久福利视频一区二区| 欧美色精品天天在线观看视频| 国产精品高清亚洲| 国产精品2024| 久久综合色天天久久综合图片| 图片区日韩欧美亚洲| 日本道精品一区二区三区| 中文字幕永久在线不卡| 国产99精品在线观看| 久久日一线二线三线suv| 一区二区三区四区av| 波多野结衣中文字幕一区 | 91丨九色porny丨蝌蚪| 国产视频亚洲色图| 国产精品一区二区在线观看不卡| 欧美精品一二三| 日韩精品一二区| 51精品国自产在线| 五月婷婷色综合| 88在线观看91蜜桃国自产| 亚洲成人中文在线| 717成人午夜免费福利电影| 日韩精品一区第一页| 欧美一区二区久久| 美女视频黄a大片欧美| 日韩无一区二区| 国产制服丝袜一区| 久久精品一区二区三区不卡| 国产盗摄精品一区二区三区在线| 久久一区二区三区四区| 国产福利一区二区三区| 国产三级久久久| 成人午夜激情片| 亚洲欧美激情在线| 欧美三级在线看| 日本人妖一区二区| 精品国产污污免费网站入口| 国产精品一区二区你懂的| 国产日韩高清在线| 99久久久久久99| 亚洲国产精品一区二区www| 精品视频一区二区三区免费| 免费欧美高清视频| 久久久久久久久久久久久久久99 | 精品国产乱码久久| 国产精品888| 亚洲女同ⅹxx女同tv| 欧美三级日韩三级| 麻豆成人综合网| 国产日韩欧美亚洲| 色综合久久中文字幕| 首页欧美精品中文字幕| 2欧美一区二区三区在线观看视频| 成人免费看片app下载| 亚洲精品videosex极品| 日韩三级.com| 99精品欧美一区二区三区小说 | 亚洲美女免费视频| 91麻豆精品久久久久蜜臀| 国产精品亚洲人在线观看|