package com.vci.client.portal.Formdesign; import java.awt.BorderLayout; import java.awt.Component; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.border.EmptyBorder; import com.vci.client.LogonApplication; import com.vci.client.portal.Formdesign.object.CompnentGroup; import com.vci.client.portal.platformPortal.PortalTableModel; import com.vci.client.portal.utility.PRM; import com.vci.client.portal.utility.PRMItem; import com.vci.client.ui.swing.VCIOptionPane; import com.vci.client.ui.swing.components.VCIJButton; import com.vci.corba.omd.atm.AttribItem; import com.vci.corba.portal.data.PortalVI; public class AttrListDialog extends JDialog { private final JPanel contentPanel = new JPanel(); private VCIJButton delBtn; private VCIJButton editBtn; private JTable table; private JButton cancelButton; private Object selectNodeObject; private PortalTableModel portalTableModel; private PortalVI pvi; private PRM prm; /** * 保存组件和属性的关系 */ private Map comPRMItemMap = null;//(Map)new ListOrderedMap(); /** * 存储组件 */ private ArrayList groupList = new ArrayList(); public AttrListDialog(Object object,PortalVI pvi,Map comPRMItemMap,ArrayList groupList) { super(LogonApplication.frame, true); this.selectNodeObject = object; this.pvi = pvi; this.comPRMItemMap = comPRMItemMap; this.groupList = groupList; init(); actionListener(); initData(); this.setLocationRelativeTo(null); this.setVisible(true); } private void init() { setBounds(100, 100, 514, 389); getContentPane().setLayout(new BorderLayout()); contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel, BorderLayout.CENTER); contentPanel.setLayout(new BorderLayout(0, 0)); { JPanel tablePanel = new JPanel(); contentPanel.add(tablePanel, BorderLayout.CENTER); tablePanel.setLayout(new BorderLayout(0, 0)); { JScrollPane scrollPane = new JScrollPane(); tablePanel.add(scrollPane); { table = new JTable(); portalTableModel = new PortalTableModel(); table.setModel(portalTableModel); scrollPane.setViewportView(table); } } } { JPanel btnPanel = new JPanel(); contentPanel.add(btnPanel, BorderLayout.SOUTH); } { JPanel buttonPane = new JPanel(); buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane, BorderLayout.SOUTH); { editBtn = new VCIJButton("修改"); buttonPane.add(editBtn); } { delBtn = new VCIJButton("删除"); buttonPane.add(delBtn); } { cancelButton = new JButton("关闭"); buttonPane.add(cancelButton); } } } private void actionListener(){ editBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { int selectedRow = table.getSelectedRowCount(); if(selectedRow>1){ VCIOptionPane.showMessage(LogonApplication.frame, "只能修改一条记录"); return; } if(selectedRow == -1){ VCIOptionPane.showMessage(LogonApplication.frame, "请选择一条记录"); return; } PRMItem selectedValue = portalTableModel.getValue(table.getSelectedRow()); CustomWidgetDialog dialog = new CustomWidgetDialog(pvi, selectedValue, selectNodeObject, null); dialog.setVisible(true); CompnentGroup gg = new CompnentGroup(); AttribItem attriItem = null; gg.setAItem(attriItem); gg.setPrmItem(dialog.getPrmItem()); String arrtName = dialog.getArrtName(); if ("".equals(arrtName)) { return; } String attrDisType = dialog.getAttrDisType(); groupList.add(gg); } }); delBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { int selectedRow = table.getSelectedRowCount(); if(selectedRow==0){ VCIOptionPane.showMessage(LogonApplication.frame, "请选择数据!"); return; } // if(selectedRow>1){ // VCIOptionPane.showMessage(LogonApplication.frame, "只能修改一条记录"); // return; // } PRMItem selectedValue = portalTableModel.getValue(table.getSelectedRow()); comPRMItemMap.remove(selectedValue.getItemField()); groupList.remove(table.getSelectedRow()); initData(); } }); cancelButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { dispose(); } }); } public void initData() { // if(pvi == null){ // return; // } // String prmText = pvi.prm; // prm = Tool.getPRM(prmText); // PRMItem[] dataObjs = prm.getPrmItemList().toArray(new PRMItem[]{}); // portalTableModel.setData(dataObjs); // table.removeAll(); // table.setModel(portalTableModel); List list = new ArrayList(); for(Map.Entry entry : comPRMItemMap.entrySet()){ PRMItem value = entry.getValue(); list.add(value); } PRMItem[] dataObjs = list.toArray(new PRMItem[]{}); portalTableModel.setData(dataObjs); table.removeAll(); table.setModel(portalTableModel); } }