package com.vci.client.portal.Formdesign; import java.awt.BorderLayout; import java.awt.FlowLayout; import javax.swing.ButtonGroup; import javax.swing.DefaultListModel; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.border.EmptyBorder; import java.awt.GridBagLayout; import javax.swing.JLabel; import java.awt.GridBagConstraints; import javax.swing.JTextField; import java.awt.Insets; import javax.swing.JComboBox; import javax.swing.JRadioButton; import javax.swing.JList; import javax.swing.JTextArea; import com.vci.client.LogonApplication; import com.vci.client.portal.utility.PRM; import com.vci.client.portal.utility.PRMItem; import com.vci.client.ui.swing.VCIOptionPane; import com.vci.corba.omd.atm.AttribItem; import com.vci.corba.portal.data.PortalVI; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.regex.Pattern; import javax.swing.JCheckBox; import java.awt.Component; public class CustomWidgetDialog extends JDialog { private final JPanel contentPanel = new JPanel(); private JTextField jdFieldTxt; private JTextField jdNameTxt; private JTextField jdVlueTxt; private ButtonGroup bg; private JRadioButton fullDisRadio; private JRadioButton noDisRadio; private JButton okButton; private JButton cancelButton; private JTextField jdValueListName; private JTextField jdValueListVal; private JTextArea jdScriptTxt; private JTextArea jdTipsTxt; private JButton addJdvalueListBtn; private JComboBox jdTypeComBox; // private JComboBox jdListTable; // private JComboBox jdListTxt; // private JComboBox jdListVal; private JTextField jdListTableTxt; private JTextField jdListTxtTxt; private JTextField jdListValTxt; private JPanel panel; private JPanel dynamicPanel; private JPanel sourthPanel ; private String disPlayType = ""; private Map jdTypeComBoxListMap ; private JButton delbutton; private PortalVI pvi; private PRMItem prmItem; private PRM prm; private String prmText = ""; private JPanel dynamicMainPal; private JPanel dynamicSourthPal; private JLabel label_1; private JScrollPane scrollPane_1; private JTextArea jdStyleTxt; private JList jdValuelist; private DefaultListModel jdValuelistModel; // private int itemListIndex; private Object selectNodeObject; private JLabel label_2; private JTextArea jdaddfilter; private JCheckBox jdiseditable; private JCheckBox jdisrequired; private JLabel label_3; private JTextField jdctrldisplycond; private JLabel label_4; private JTextField jdctrldisplycol; private JLabel label_5; private JTextField jdcustomclass; private JLabel lblCombobox; private JTextField jdqueryrefields; private JCheckBox jdishttpsave; private JLabel label_6; private JTextField jdhttpvolumnpath; private JLabel label_7; private JTextField jdhttppathfield; /** * 保存组件和属性的关系 */ //private Map comPRMItemMap = (Map)new ListOrderedMap(); /** * 存储属性名称和属性对象 */ private AttribItem attribItem ; /** * 属性名称 */ private String arrtName; /** * 属性显示类型 */ private String attrDisType; private JLabel label_8; private JScrollPane scrollPane_2; private JTextArea JD_EditableProgramTxt; private JButton chooseBtn; private JLabel label_9; private JTextField jd_rightTxt; private JButton rightBtn; public String getAttrDisType() { return attrDisType; } public void setAttrDisType(String attrDisType) { this.attrDisType = attrDisType; } public String getArrtName() { return arrtName; } public void setArrtName(String arrtName) { this.arrtName = arrtName; } public String getPrmText() { return prmText; } public void setPrmText(String prmText) { this.prmText = prmText; } /** * Create the dialog. */ public CustomWidgetDialog(PortalVI pvi,PRMItem prmItem,Object object,AttribItem attribItem) { //,Map comPRMItemMap) { super(LogonApplication.frame,true); this.pvi = pvi; this.prmItem = prmItem; this.selectNodeObject = object; this.attribItem = attribItem; //this.comPRMItemMap = comPRMItemMap; setBounds(100, 100, 624, 670); init(); initJdTypeComBoxList(); actionListener(); initData(); initDisControl(); this.setLocationRelativeTo(null); } private void init() { getContentPane().setLayout(new BorderLayout()); { JPanel buttonPane = new JPanel(); buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane, BorderLayout.SOUTH); { okButton = new JButton("保存"); buttonPane.add(okButton); } { cancelButton = new JButton("关闭"); buttonPane.add(cancelButton); } } { panel = new JPanel(); getContentPane().add(panel, BorderLayout.CENTER); panel.setLayout(new BorderLayout(0, 0)); panel.add(contentPanel, BorderLayout.NORTH); contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); GridBagLayout gbl_contentPanel = new GridBagLayout(); gbl_contentPanel.columnWidths = new int[]{76, 0, 0, 0, 0, 0}; gbl_contentPanel.rowHeights = new int[]{0, 0, 0, 48, 47, 0, 0, 0}; gbl_contentPanel.columnWeights = new double[]{0.0, 1.0, 0.0, 1.0, 1.0, Double.MIN_VALUE}; gbl_contentPanel.rowWeights = new double[]{1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE}; contentPanel.setLayout(gbl_contentPanel); { JLabel jdField = new JLabel("使用字段"); jdField.setToolTipText("页面显示的属性"); GridBagConstraints gbc_lblNewLabel = new GridBagConstraints(); gbc_lblNewLabel.insets = new Insets(0, 0, 5, 5); gbc_lblNewLabel.anchor = GridBagConstraints.EAST; gbc_lblNewLabel.gridx = 0; gbc_lblNewLabel.gridy = 0; contentPanel.add(jdField, gbc_lblNewLabel); } { jdFieldTxt = new JTextField(); GridBagConstraints gbc_textField = new GridBagConstraints(); gbc_textField.insets = new Insets(0, 0, 5, 5); gbc_textField.fill = GridBagConstraints.HORIZONTAL; gbc_textField.gridx = 1; gbc_textField.gridy = 0; contentPanel.add(jdFieldTxt, gbc_textField); jdFieldTxt.setColumns(10); } { chooseBtn = new JButton("选择"); GridBagConstraints gbc_chooseBtn = new GridBagConstraints(); gbc_chooseBtn.insets = new Insets(0, 0, 5, 5); gbc_chooseBtn.gridx = 2; gbc_chooseBtn.gridy = 0; contentPanel.add(chooseBtn, gbc_chooseBtn); } { jdiseditable = new JCheckBox("只读"); jdiseditable.setToolTipText("设置是否可以编辑,选中则属性不可以编辑,不选则属性可以编辑"); GridBagConstraints gbc_checkBox = new GridBagConstraints(); gbc_checkBox.insets = new Insets(0, 0, 5, 5); gbc_checkBox.gridx = 3; gbc_checkBox.gridy = 0; contentPanel.add(jdiseditable, gbc_checkBox); } { jdisrequired = new JCheckBox("必填"); jdisrequired.setToolTipText("该属性字段是否是必填项"); GridBagConstraints gbc_checkBox_1 = new GridBagConstraints(); gbc_checkBox_1.anchor = GridBagConstraints.WEST; gbc_checkBox_1.insets = new Insets(0, 0, 5, 0); gbc_checkBox_1.gridx = 4; gbc_checkBox_1.gridy = 0; contentPanel.add(jdisrequired, gbc_checkBox_1); } { JLabel jdName = new JLabel("显示名称"); jdName.setToolTipText("页面属性显示的名称"); GridBagConstraints gbc_lblNewLabel = new GridBagConstraints(); gbc_lblNewLabel.anchor = GridBagConstraints.EAST; gbc_lblNewLabel.insets = new Insets(0, 0, 5, 5); gbc_lblNewLabel.gridx = 0; gbc_lblNewLabel.gridy = 1; contentPanel.add(jdName, gbc_lblNewLabel); } { jdNameTxt = new JTextField(); GridBagConstraints gbc_textField_1 = new GridBagConstraints(); gbc_textField_1.insets = new Insets(0, 0, 5, 5); gbc_textField_1.fill = GridBagConstraints.HORIZONTAL; gbc_textField_1.gridx = 1; gbc_textField_1.gridy = 1; contentPanel.add(jdNameTxt, gbc_textField_1); jdNameTxt.setColumns(10); } { JLabel jdType = new JLabel("显示类型"); jdType.setToolTipText("属性显示的控件类型"); GridBagConstraints gbc_lblNewLabel = new GridBagConstraints(); gbc_lblNewLabel.insets = new Insets(0, 0, 5, 5); gbc_lblNewLabel.gridx = 3; gbc_lblNewLabel.gridy = 1; contentPanel.add(jdType, gbc_lblNewLabel); } { jdTypeComBox = new JComboBox(); GridBagConstraints gbc_comboBox = new GridBagConstraints(); gbc_comboBox.insets = new Insets(0, 0, 5, 0); gbc_comboBox.fill = GridBagConstraints.HORIZONTAL; gbc_comboBox.gridx = 4; gbc_comboBox.gridy = 1; contentPanel.add(jdTypeComBox, gbc_comboBox); } { JLabel jdVlue = new JLabel("默认值"); jdVlue.setToolTipText("属性的默认值"); GridBagConstraints gbc_lblNewLabel = new GridBagConstraints(); gbc_lblNewLabel.anchor = GridBagConstraints.EAST; gbc_lblNewLabel.insets = new Insets(0, 0, 5, 5); gbc_lblNewLabel.gridx = 0; gbc_lblNewLabel.gridy = 2; contentPanel.add(jdVlue, gbc_lblNewLabel); } { jdVlueTxt = new JTextField(); GridBagConstraints gbc_textField_2 = new GridBagConstraints(); gbc_textField_2.insets = new Insets(0, 0, 5, 5); gbc_textField_2.fill = GridBagConstraints.HORIZONTAL; gbc_textField_2.gridx = 1; gbc_textField_2.gridy = 2; contentPanel.add(jdVlueTxt, gbc_textField_2); jdVlueTxt.setToolTipText("默认值表达式支持\"源对象属性\"、\"内置系统变量\"、\"内置系统函数\"与\"自定义类\",格式如:\"${description}_#CURRENTUSER.NAME#_#CURRENTDATETIME#_!com.vci.ui.form.defaultvalue.InitRevVer!\""); jdVlueTxt.setColumns(10); } { JLabel jdCols = new JLabel("占位方式"); jdCols.setToolTipText("属性在页面中是否显示"); GridBagConstraints gbc_lblNewLabel = new GridBagConstraints(); gbc_lblNewLabel.insets = new Insets(0, 0, 5, 5); gbc_lblNewLabel.gridx = 3; gbc_lblNewLabel.gridy = 2; contentPanel.add(jdCols, gbc_lblNewLabel); } { JPanel panel_1 = new JPanel(); FlowLayout fl_panel_1 = (FlowLayout) panel_1.getLayout(); fl_panel_1.setAlignment(FlowLayout.LEFT); GridBagConstraints gbc_panel_1 = new GridBagConstraints(); gbc_panel_1.insets = new Insets(0, 0, 5, 0); gbc_panel_1.fill = GridBagConstraints.BOTH; gbc_panel_1.gridx = 4; gbc_panel_1.gridy = 2; contentPanel.add(panel_1, gbc_panel_1); { bg = new ButtonGroup(); fullDisRadio = new JRadioButton("显示"); fullDisRadio.setSelected(true); panel_1.add(fullDisRadio); noDisRadio = new JRadioButton("不显示"); panel_1.add(noDisRadio); bg.add(fullDisRadio); bg.add(noDisRadio); } } { label_2 = new JLabel("字段表达式"); label_2.setToolTipText("填入属性的控制条件(字符串形式)"); GridBagConstraints gbc_label_2 = new GridBagConstraints(); gbc_label_2.fill = GridBagConstraints.VERTICAL; gbc_label_2.anchor = GridBagConstraints.EAST; gbc_label_2.insets = new Insets(0, 0, 5, 5); gbc_label_2.gridx = 0; gbc_label_2.gridy = 3; contentPanel.add(label_2, gbc_label_2); } { JScrollPane scrollPane = new JScrollPane(); jdaddfilter = new JTextArea("",3,2); scrollPane.setViewportView(jdaddfilter); GridBagConstraints gbc_textField = new GridBagConstraints(); gbc_textField.insets = new Insets(0, 0, 5, 0); gbc_textField.gridwidth = 4; gbc_textField.fill = GridBagConstraints.BOTH; gbc_textField.gridx = 1; gbc_textField.gridy = 3; contentPanel.add(scrollPane, gbc_textField); jdaddfilter.setColumns(10); } { label_8 = new JLabel("只读选择条件"); label_8.setToolTipText("属性是否是可编辑状态的控制"); GridBagConstraints gbc_label_8 = new GridBagConstraints(); gbc_label_8.insets = new Insets(0, 0, 5, 5); gbc_label_8.gridx = 0; gbc_label_8.gridy = 4; contentPanel.add(label_8, gbc_label_8); } { scrollPane_2 = new JScrollPane(); GridBagConstraints gbc_scrollPane_2 = new GridBagConstraints(); gbc_scrollPane_2.gridwidth = 4; gbc_scrollPane_2.insets = new Insets(0, 0, 5, 0); gbc_scrollPane_2.fill = GridBagConstraints.BOTH; gbc_scrollPane_2.gridx = 1; gbc_scrollPane_2.gridy = 4; contentPanel.add(scrollPane_2, gbc_scrollPane_2); { JD_EditableProgramTxt = new JTextArea("",3,2); scrollPane_2.setViewportView(JD_EditableProgramTxt); } } { label_4 = new JLabel("控制列"); label_4.setToolTipText("通过该属性控制要显示的列"); GridBagConstraints gbc_label_4 = new GridBagConstraints(); gbc_label_4.insets = new Insets(0, 0, 5, 5); gbc_label_4.gridx = 0; gbc_label_4.gridy = 5; contentPanel.add(label_4, gbc_label_4); } { jdctrldisplycol = new JTextField(); GridBagConstraints gbc_textField_1 = new GridBagConstraints(); gbc_textField_1.insets = new Insets(0, 0, 5, 5); gbc_textField_1.fill = GridBagConstraints.HORIZONTAL; gbc_textField_1.gridx = 1; gbc_textField_1.gridy = 5; contentPanel.add(jdctrldisplycol, gbc_textField_1); jdctrldisplycol.setColumns(10); } { label_3 = new JLabel("显示列条件"); label_3.setToolTipText("属性控制显示列条件"); GridBagConstraints gbc_label_3 = new GridBagConstraints(); gbc_label_3.insets = new Insets(0, 0, 5, 5); gbc_label_3.gridx = 3; gbc_label_3.gridy = 5; contentPanel.add(label_3, gbc_label_3); } { jdctrldisplycond = new JTextField(); GridBagConstraints gbc_textField = new GridBagConstraints(); gbc_textField.insets = new Insets(0, 0, 5, 0); gbc_textField.fill = GridBagConstraints.HORIZONTAL; gbc_textField.gridx = 4; gbc_textField.gridy = 5; contentPanel.add(jdctrldisplycond, gbc_textField); jdctrldisplycond.setColumns(10); } { label_9 = new JLabel("属性权限"); label_9.setToolTipText("设置属性权限,输入规则是user=user&&(或者||)role=role&&(或||)depart=depart,多个的用户,或者角色,或者部门,之间用逗号分隔"); GridBagConstraints gbc_label_9 = new GridBagConstraints(); gbc_label_9.insets = new Insets(0, 0, 0, 5); gbc_label_9.gridx = 0; gbc_label_9.gridy = 6; contentPanel.add(label_9, gbc_label_9); } { jd_rightTxt = new JTextField(); jd_rightTxt.setToolTipText(""); GridBagConstraints gbc_jd_rightTxt = new GridBagConstraints(); gbc_jd_rightTxt.gridwidth = 3; gbc_jd_rightTxt.insets = new Insets(0, 0, 0, 5); gbc_jd_rightTxt.fill = GridBagConstraints.HORIZONTAL; gbc_jd_rightTxt.gridx = 1; gbc_jd_rightTxt.gridy = 6; contentPanel.add(jd_rightTxt, gbc_jd_rightTxt); jd_rightTxt.setColumns(10); } { rightBtn = new JButton("选择"); rightBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent paramActionEvent) { RightUserDialog dialog = new RightUserDialog(); dialog.setVisible(true); List resultList = dialog.getResultList(); List user = new ArrayList(); List role = new ArrayList(); List dept = new ArrayList(); if(dialog.isSaveFlag()){ for(String value : resultList){ String substring = value.substring(value.lastIndexOf("=")+1); if(value.contains("user=")){ if(!user.contains(substring)){ user.add(substring); } } if(value.contains("role=")){ if(!role.contains(substring)){ role.add(substring); } } if(value.contains("department=")){ if(!dept.contains(substring)){ dept.add(substring); } } } Pattern p = Pattern.compile("\\b([\\w\\W])\\b"); String res = "user="+p.matcher(user.toString().substring(1,user.toString().length()-1)).replaceAll("$1")+ "&&role="+p.matcher(role.toString().substring(1,role.toString().length()-1)).replaceAll("$1")+ "&&department="+p.matcher(dept.toString().substring(1,dept.toString().length()-1)).replaceAll("$1"); jd_rightTxt.setText(res); } } }); GridBagConstraints gbc_rightBtn = new GridBagConstraints(); gbc_rightBtn.anchor = GridBagConstraints.WEST; gbc_rightBtn.gridx = 4; gbc_rightBtn.gridy = 6; contentPanel.add(rightBtn, gbc_rightBtn); } { sourthPanel = new JPanel(); panel.add(sourthPanel, BorderLayout.CENTER); GridBagLayout gbl_panel_1 = new GridBagLayout(); gbl_panel_1.columnWidths = new int[]{76, 0, 0, 0, 0, 0}; gbl_panel_1.rowHeights = new int[]{42, 26, 0, 0, 0, 0}; gbl_panel_1.columnWeights = new double[]{0.0, 1.0, 1.0, 1.0, 1.0, Double.MIN_VALUE}; gbl_panel_1.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE}; sourthPanel.setLayout(gbl_panel_1); { JLabel jdScript = new JLabel("脚本验证"); jdScript.setToolTipText("脚本验证"); GridBagConstraints gbc_lblNewLabel_5 = new GridBagConstraints(); gbc_lblNewLabel_5.fill = GridBagConstraints.VERTICAL; gbc_lblNewLabel_5.insets = new Insets(0, 0, 5, 5); gbc_lblNewLabel_5.gridx = 0; gbc_lblNewLabel_5.gridy = 0; sourthPanel.add(jdScript, gbc_lblNewLabel_5); } { JScrollPane scrollPane = new JScrollPane(); GridBagConstraints gbc_scrollPane = new GridBagConstraints(); gbc_scrollPane.gridwidth = 4; gbc_scrollPane.insets = new Insets(0, 0, 5, 0); gbc_scrollPane.fill = GridBagConstraints.BOTH; gbc_scrollPane.gridx = 1; gbc_scrollPane.gridy = 0; sourthPanel.add(scrollPane, gbc_scrollPane); { jdScriptTxt = new JTextArea("",3,2); scrollPane.setViewportView(jdScriptTxt); } } { JLabel jdTips = new JLabel("提示文字"); jdTips.setToolTipText("属性提示"); GridBagConstraints gbc_lblF = new GridBagConstraints(); gbc_lblF.insets = new Insets(0, 0, 5, 5); gbc_lblF.gridx = 0; gbc_lblF.gridy = 1; sourthPanel.add(jdTips, gbc_lblF); } { JScrollPane scrollPane = new JScrollPane(); GridBagConstraints gbc_scrollPane = new GridBagConstraints(); gbc_scrollPane.insets = new Insets(0, 0, 5, 0); gbc_scrollPane.gridwidth = 4; gbc_scrollPane.fill = GridBagConstraints.HORIZONTAL; gbc_scrollPane.gridx = 1; gbc_scrollPane.gridy = 1; sourthPanel.add(scrollPane, gbc_scrollPane); { jdTipsTxt = new JTextArea("",3,2); scrollPane.setViewportView(jdTipsTxt); } } { lblCombobox = new JLabel("查询关联列"); lblCombobox.setToolTipText("填写sql语句,语句中查询出来的字段值,就是该属性显示的值"); GridBagConstraints gbc_lblCombobox = new GridBagConstraints(); gbc_lblCombobox.insets = new Insets(0, 0, 5, 5); gbc_lblCombobox.gridx = 0; gbc_lblCombobox.gridy = 2; sourthPanel.add(lblCombobox, gbc_lblCombobox); } { jdqueryrefields = new JTextField(); GridBagConstraints gbc_textField_1 = new GridBagConstraints(); gbc_textField_1.gridwidth = 4; gbc_textField_1.insets = new Insets(0, 0, 5, 0); gbc_textField_1.fill = GridBagConstraints.HORIZONTAL; gbc_textField_1.gridx = 1; gbc_textField_1.gridy = 2; sourthPanel.add(jdqueryrefields, gbc_textField_1); jdqueryrefields.setColumns(10); } { label_5 = new JLabel("自定义类"); label_5.setToolTipText("填写自定义的类名,用来自定义该属性"); GridBagConstraints gbc_label_5 = new GridBagConstraints(); gbc_label_5.insets = new Insets(0, 0, 5, 5); gbc_label_5.gridx = 0; gbc_label_5.gridy = 3; sourthPanel.add(label_5, gbc_label_5); } { jdcustomclass = new JTextField(); GridBagConstraints gbc_textField = new GridBagConstraints(); gbc_textField.insets = new Insets(0, 0, 5, 0); gbc_textField.gridwidth = 4; gbc_textField.fill = GridBagConstraints.HORIZONTAL; gbc_textField.gridx = 1; gbc_textField.gridy = 3; sourthPanel.add(jdcustomclass, gbc_textField); jdcustomclass.setColumns(10); } { jdishttpsave = new JCheckBox("http存储"); jdishttpsave.setToolTipText("控制http存储功能的开关"); GridBagConstraints gbc_chckbxHttp = new GridBagConstraints(); gbc_chckbxHttp.insets = new Insets(0, 0, 0, 5); gbc_chckbxHttp.gridx = 0; gbc_chckbxHttp.gridy = 4; sourthPanel.add(jdishttpsave, gbc_chckbxHttp); } { label_6 = new JLabel("存储路径"); label_6.setToolTipText("url的路径"); GridBagConstraints gbc_label_6 = new GridBagConstraints(); gbc_label_6.insets = new Insets(0, 0, 0, 5); gbc_label_6.gridx = 1; gbc_label_6.gridy = 4; sourthPanel.add(label_6, gbc_label_6); } { jdhttpvolumnpath = new JTextField(); GridBagConstraints gbc_textField = new GridBagConstraints(); gbc_textField.insets = new Insets(0, 0, 0, 5); gbc_textField.fill = GridBagConstraints.HORIZONTAL; gbc_textField.gridx = 2; gbc_textField.gridy = 4; sourthPanel.add(jdhttpvolumnpath, gbc_textField); jdhttpvolumnpath.setColumns(10); } { label_7 = new JLabel("存储路径字段"); label_7.setToolTipText("存储路径的字段"); GridBagConstraints gbc_label_7 = new GridBagConstraints(); gbc_label_7.insets = new Insets(0, 0, 0, 5); gbc_label_7.gridx = 3; gbc_label_7.gridy = 4; sourthPanel.add(label_7, gbc_label_7); } { jdhttppathfield = new JTextField(); GridBagConstraints gbc_textField = new GridBagConstraints(); gbc_textField.fill = GridBagConstraints.HORIZONTAL; gbc_textField.gridx = 4; gbc_textField.gridy = 4; sourthPanel.add(jdhttppathfield, gbc_textField); jdhttppathfield.setColumns(10); } } { dynamicMainPal = new JPanel(); dynamicMainPal.setPreferredSize(new Dimension(10, 200)); panel.add(dynamicMainPal, BorderLayout.SOUTH); dynamicMainPal.setLayout(new BorderLayout(0, 0)); { dynamicPanel = new JPanel(); dynamicMainPal.add(dynamicPanel, BorderLayout.CENTER); GridBagLayout gbl_dynamicPanel = new GridBagLayout(); gbl_dynamicPanel.columnWidths = new int[]{76, 64, 0, 68, 37, 76, 0, 0, 0, 0, 0, 0, 0}; gbl_dynamicPanel.rowHeights = new int[]{0, 34, 34, 0}; gbl_dynamicPanel.columnWeights = new double[]{0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, Double.MIN_VALUE}; gbl_dynamicPanel.rowWeights = new double[]{0.0, 0.0, 0.0, Double.MIN_VALUE}; dynamicPanel.setLayout(gbl_dynamicPanel); { JLabel label = new JLabel("名称"); label.setToolTipText("选择下拉列表的时候,填写的显示字段"); GridBagConstraints gbc_label = new GridBagConstraints(); gbc_label.insets = new Insets(0, 0, 5, 5); gbc_label.gridx = 1; gbc_label.gridy = 0; dynamicPanel.add(label, gbc_label); } { jdValueListName = new JTextField(); GridBagConstraints gbc_textField = new GridBagConstraints(); gbc_textField.gridwidth = 2; gbc_textField.insets = new Insets(0, 0, 5, 5); gbc_textField.fill = GridBagConstraints.HORIZONTAL; gbc_textField.gridx = 2; gbc_textField.gridy = 0; dynamicPanel.add(jdValueListName, gbc_textField); jdValueListName.setColumns(10); } { JLabel label = new JLabel("值"); label.setToolTipText("选择下拉列表的时候,填写的显示的值"); GridBagConstraints gbc_label = new GridBagConstraints(); gbc_label.insets = new Insets(0, 0, 5, 5); gbc_label.gridx = 4; gbc_label.gridy = 0; dynamicPanel.add(label, gbc_label); } { jdValueListVal = new JTextField(); GridBagConstraints gbc_textField_1 = new GridBagConstraints(); gbc_textField_1.insets = new Insets(0, 0, 5, 5); gbc_textField_1.fill = GridBagConstraints.HORIZONTAL; gbc_textField_1.gridx = 5; gbc_textField_1.gridy = 0; dynamicPanel.add(jdValueListVal, gbc_textField_1); jdValueListVal.setColumns(10); } { addJdvalueListBtn = new JButton("添加"); GridBagConstraints gbc_button = new GridBagConstraints(); gbc_button.insets = new Insets(0, 0, 5, 5); gbc_button.gridx = 6; gbc_button.gridy = 0; dynamicPanel.add(addJdvalueListBtn, gbc_button); } { JLabel label = new JLabel("一级参照"); label.setToolTipText("填写参照的业务对象名称"); GridBagConstraints gbc_label = new GridBagConstraints(); gbc_label.insets = new Insets(0, 0, 5, 5); gbc_label.gridx = 7; gbc_label.gridy = 0; dynamicPanel.add(label, gbc_label); } { // jdListTable = new JComboBox(); jdListTableTxt = new JTextField(); GridBagConstraints gbc_comboBox = new GridBagConstraints(); gbc_comboBox.gridwidth = 4; gbc_comboBox.insets = new Insets(0, 0, 5, 0); gbc_comboBox.fill = GridBagConstraints.HORIZONTAL; gbc_comboBox.gridx = 8; gbc_comboBox.gridy = 0; // dynamicPanel.add(jdListTable, gbc_comboBox); dynamicPanel.add(jdListTableTxt, gbc_comboBox); } { JLabel label = new JLabel("选项列表"); GridBagConstraints gbc_label = new GridBagConstraints(); gbc_label.insets = new Insets(0, 0, 5, 5); gbc_label.gridx = 0; gbc_label.gridy = 1; dynamicPanel.add(label, gbc_label); } JScrollPane scrollPane = new JScrollPane(); scrollPane.setPreferredSize(new Dimension(2, 14)); GridBagConstraints gbc_scrollPane = new GridBagConstraints(); gbc_scrollPane.gridheight = 2; gbc_scrollPane.gridwidth = 5; gbc_scrollPane.insets = new Insets(0, 0, 0, 5); gbc_scrollPane.fill = GridBagConstraints.BOTH; gbc_scrollPane.gridx = 1; gbc_scrollPane.gridy = 1; dynamicPanel.add(scrollPane, gbc_scrollPane); jdValuelistModel= new DefaultListModel(); jdValuelist = new JList(jdValuelistModel); scrollPane.setViewportView(jdValuelist); { delbutton = new JButton("删除"); GridBagConstraints gbc_button = new GridBagConstraints(); gbc_button.insets = new Insets(0, 0, 5, 5); gbc_button.gridx = 6; gbc_button.gridy = 1; dynamicPanel.add(delbutton, gbc_button); } { JLabel label = new JLabel("二级参照"); label.setToolTipText("填写参照的业务对象名称"); GridBagConstraints gbc_label = new GridBagConstraints(); gbc_label.insets = new Insets(0, 0, 5, 5); gbc_label.gridx = 7; gbc_label.gridy = 1; dynamicPanel.add(label, gbc_label); } { // jdListTxt = new JComboBox(); jdListTxtTxt = new JTextField(); GridBagConstraints gbc_comboBox = new GridBagConstraints(); gbc_comboBox.gridwidth = 4; gbc_comboBox.insets = new Insets(0, 0, 5, 0); gbc_comboBox.fill = GridBagConstraints.HORIZONTAL; gbc_comboBox.gridx = 8; gbc_comboBox.gridy = 1; // dynamicPanel.add(jdListTxt, gbc_comboBox); dynamicPanel.add(jdListTxtTxt, gbc_comboBox); } { JLabel label = new JLabel("参照值"); label.setToolTipText("填写参照的业务对象的属性"); GridBagConstraints gbc_label = new GridBagConstraints(); gbc_label.insets = new Insets(0, 0, 0, 5); gbc_label.gridx = 7; gbc_label.gridy = 2; dynamicPanel.add(label, gbc_label); } { // jdListVal = new JComboBox(); jdListValTxt = new JTextField(); GridBagConstraints gbc_comboBox = new GridBagConstraints(); gbc_comboBox.gridwidth = 4; gbc_comboBox.fill = GridBagConstraints.HORIZONTAL; gbc_comboBox.gridx = 8; gbc_comboBox.gridy = 2; // dynamicPanel.add(jdListVal, gbc_comboBox); dynamicPanel.add(jdListValTxt, gbc_comboBox); } } { dynamicSourthPal = new JPanel(); dynamicSourthPal.setPreferredSize(new Dimension(10, 90)); dynamicMainPal.add(dynamicSourthPal, BorderLayout.SOUTH); GridBagLayout gbl_dynamicSourthPal = new GridBagLayout(); gbl_dynamicSourthPal.columnWidths = new int[]{84, 538, 0}; gbl_dynamicSourthPal.rowHeights = new int[]{25, 0}; gbl_dynamicSourthPal.columnWeights = new double[]{0.0, 0.0, Double.MIN_VALUE}; gbl_dynamicSourthPal.rowWeights = new double[]{1.0, Double.MIN_VALUE}; dynamicSourthPal.setLayout(gbl_dynamicSourthPal); { label_1 = new JLabel("附加属性"); label_1.setToolTipText("附加属性"); label_1.setPreferredSize(new Dimension(70, 15)); label_1.setAlignmentX(Component.CENTER_ALIGNMENT); GridBagConstraints gbc_label_1 = new GridBagConstraints(); gbc_label_1.fill = GridBagConstraints.VERTICAL; gbc_label_1.insets = new Insets(0, 0, 0, 5); gbc_label_1.gridx = 0; gbc_label_1.gridy = 0; dynamicSourthPal.add(label_1, gbc_label_1); } { scrollPane_1 = new JScrollPane(); scrollPane_1.setPreferredSize(new Dimension(2, 25)); scrollPane_1.setSize(new Dimension(35, 20)); GridBagConstraints gbc_scrollPane_1 = new GridBagConstraints(); gbc_scrollPane_1.fill = GridBagConstraints.BOTH; gbc_scrollPane_1.gridx = 1; gbc_scrollPane_1.gridy = 0; dynamicSourthPal.add(scrollPane_1, gbc_scrollPane_1); { jdStyleTxt = new JTextArea("",3,2); scrollPane_1.setViewportView(jdStyleTxt); } } } } } } private void actionListener(){ chooseBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { SelectAttrDialog dia = new SelectAttrDialog(); dia.setVisible(true); if(!dia.isCloseflag()){ jdFieldTxt.setText(dia.getRes()); } } }); jdishttpsave.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { initDisControl(); } }); addJdvalueListBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { String result = jdValueListName.getText().trim()+"{"+jdValueListVal.getText().trim()+"}"; jdValuelistModel.addElement(result); } }); delbutton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { String selectedValue = (String) jdValuelist.getSelectedValue(); jdValuelistModel.removeElement(selectedValue); } }); jdTypeComBox.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent arg0) { jdValuelistModel.removeAllElements(); jdValueListName.setText(""); jdValueListVal.setText(""); jdStyleTxt.setText(""); jdListTableTxt.setText(""); jdListTxtTxt.setText(""); jdListValTxt.setText(""); String value = getTypeCobValue(); dynamicMainPal.remove(dynamicPanel); dynamicMainPal.remove(dynamicSourthPal); panel.remove(sourthPanel); if(value.equals("radio")||value.equals("checkbox")){ panel.add(dynamicMainPal,BorderLayout.SOUTH); dynamicMainPal.add(dynamicPanel,BorderLayout.CENTER); panel.add(sourthPanel,BorderLayout.CENTER); }else if(value.equals("select")){ panel.add(dynamicMainPal,BorderLayout.SOUTH); dynamicMainPal.add(dynamicPanel,BorderLayout.CENTER); dynamicMainPal.add(dynamicSourthPal,BorderLayout.SOUTH); panel.add(sourthPanel,BorderLayout.CENTER); }else if(value.equals("webeditor")||value.equals("hidden")){ panel.remove(dynamicMainPal); panel.add(sourthPanel,BorderLayout.CENTER); }else{ panel.add(dynamicMainPal,BorderLayout.SOUTH); dynamicMainPal.add(dynamicSourthPal,BorderLayout.CENTER); panel.add(sourthPanel,BorderLayout.CENTER); } panel.updateUI(); } }); okButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { if(prmItem == null){ prmItem = new PRMItem(); } // prm = Tool.getPRM(pvi.prm); if("partition".equals(jdTypeComBox.getSelectedItem().toString())){ //TODO---区域参数设置 }else{ if(jdFieldTxt.getText()==null||"".equals(jdFieldTxt.getText().trim())){ VCIOptionPane.showMessage(LogonApplication.frame, "请填写使用字段!"); return; } prmItem.setItemField(jdFieldTxt.getText().trim()); prmItem.setItemName(jdNameTxt.getText().trim()); prmItem.setItemType(getTypeCobValue()); prmItem.setItemValue(jdVlueTxt.getText().trim()); if(fullDisRadio.isSelected()){ prmItem.setItemCols("1"); }else if(noDisRadio.isSelected()){ prmItem.setItemCols("0"); } List list = getValueList(); prmItem.setItemValueList(list); prmItem.setItemStyle(jdStyleTxt.getText().trim()); prmItem.setItemScript(jdScriptTxt.getText().trim()); prmItem.setItemTips(jdTipsTxt.getText().trim()); prmItem.setItemEditableProgram(JD_EditableProgramTxt.getText().trim()); if(jdiseditable.isSelected()){ prmItem.setItemIsEditable("1"); }else{ prmItem.setItemIsEditable("0"); } if(jdisrequired.isSelected()){ prmItem.setItemIsRequired("1"); }else{ prmItem.setItemIsRequired("0"); } prmItem.setItemCtrlDisplyCol(jdctrldisplycol.getText().trim()); prmItem.setItemCtrlDisplyCondition(jdctrldisplycond.getText().trim()); prmItem.setItemQueryRefFields(jdqueryrefields.getText().trim()); prmItem.setItemCustomClass(jdcustomclass.getText().trim()); prmItem.setItemListTable(jdListTableTxt.getText().trim()); prmItem.setItemListTxt(jdListTxtTxt.getText().trim()); prmItem.setItemListVal(jdListValTxt.getText().trim()); if(jdishttpsave.isSelected()){ prmItem.setItemIsHttpSave("1"); prmItem.setItemHttpVolumnPath(jdhttpvolumnpath.getText().trim()); prmItem.setItemHttpPathField(jdhttppathfield.getText().trim()); }else{ prmItem.setItemIsHttpSave("0"); prmItem.setItemHttpVolumnPath(""); prmItem.setItemHttpPathField(""); } prmItem.setItemAddFilter(jdaddfilter.getText()); prmItem.setItemRight(jd_rightTxt.getText()); } //comPRMItemMap.put(jdFieldTxt.getText(), prmItem); arrtName = jdFieldTxt.getText(); attrDisType = getTypeCobValue(); // List prmItemList = new ArrayList(); // if(prm!=null){ // prmItemList = prm.getPrmItemList(); // }else{ // prm = new PRM(); // } // List res = new ArrayList(); // if(itemListIndex!=-1){ //// prmItemList.remove(itemListIndex); // for(int i=0;i getValueList() { List list = new ArrayList(); for(int i=0;i keySet = jdTypeComBoxListMap.keySet(); Iterator iterator = keySet.iterator(); String value = ""; while(iterator.hasNext()){ value = iterator.next(); if(selectedItem== null){ return ""; } if(selectedItem.equals(jdTypeComBoxListMap.get(value))){ break; } } return value; } /** * "单行文本框","文本按钮框","多行文本框","富文本框","数字输入框", "密码框","单选按钮","多选按钮","下拉菜单","Web编辑器", * "日期输入框","时间输入框","日期时间输入框","隐藏或普通文字","自定义表单","文件上传","多文件上传" * "自定义" * "text","textbtn","textarea","number","password","radio","checkbox","select","webeditor", * "date", "time", "datetime", "hidden","customform","file","multiFile","custom" */ private void initJdTypeComBoxList(){ jdTypeComBoxListMap = new HashMap(); jdTypeComBoxListMap.put("text", "单行文本框"); jdTypeComBoxListMap.put("textbtn", "文本按钮框"); jdTypeComBoxListMap.put("textarea", "多行文本框"); jdTypeComBoxListMap.put("richtext", "富文本框"); jdTypeComBoxListMap.put("number", "数字输入框"); jdTypeComBoxListMap.put("password", "密码框"); jdTypeComBoxListMap.put("radio", "单选按钮"); jdTypeComBoxListMap.put("checkbox", "多选按钮"); jdTypeComBoxListMap.put("select", "下拉菜单"); jdTypeComBoxListMap.put("multiselect", "多选下拉菜单"); jdTypeComBoxListMap.put("date", "日期输入框"); jdTypeComBoxListMap.put("time", "时间输入框"); jdTypeComBoxListMap.put("datetime", "日期时间输入框"); jdTypeComBoxListMap.put("file", "文件上传"); jdTypeComBoxListMap.put("multiFile", "多文件上传"); jdTypeComBoxListMap.put("custom", "自定义"); jdTypeComBoxListMap.put("customform", "自定义表单"); jdTypeComBoxListMap.put("hidden", "隐藏或普通文字"); jdTypeComBoxListMap.put("webeditor", "Web编辑器"); jdTypeComBoxListMap.put("partition", "分割线"); jdTypeComBox.addItem(""); Set keySet = jdTypeComBoxListMap.keySet(); Iterator iterator = keySet.iterator(); while(iterator.hasNext()){ String next = iterator.next(); jdTypeComBox.addItem(jdTypeComBoxListMap.get(next)); } } private void initjdListTable(){ // if(selectNodeObject instanceof BtmItemWrapper){ // ((BtmItemWrapper)selectNodeObject).btmItem.; // }else if(selectNodeObject instanceof LinkTypeWrapper){ // ((LinkTypeWrapper)selectNodeObject).o.name; // } // jdListTable.addItem(""); } private void initData(){ if(prmItem != null){ jdFieldTxt.setText(prmItem.getItemField()); jdNameTxt.setText(prmItem.getItemName()); jdTypeComBox.setSelectedItem(jdTypeComBoxListMap.get(prmItem.getItemType())); jdVlueTxt.setText(prmItem.getItemValue()); if(prmItem.getItemCols()!=null&&prmItem.getItemCols().equals("1")){ fullDisRadio.setSelected(true); }else if(prmItem.getItemCols()!=null&&prmItem.getItemCols().equals("0") ){ noDisRadio.setSelected(true); } for(int j =0;j> typeMap = TypeConstant.getTypeMap(); List list = typeMap.get(attribItem.vtDataType); for(String typeValue : list){ jdTypeComBox.addItem(jdTypeComBoxListMap.get(typeValue)); } } } }