package com.vci.client.omd.enumManager.ui; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.Iterator; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextField; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.table.JTableHeader; import org.jdesktop.swingx.JXTable; import org.jdesktop.swingx.decorator.HighlighterFactory; import com.vci.client.omd.enumManager.toOutside.InterEM; import com.vci.client.omd.enumManager.toOutside.InterEMManager; import com.vci.client.omd.enumManager.wrapper.EnumItemWrapper; import com.vci.corba.omd.etm.EnumItem; public class UsedToDialog extends JDialog{ /** * */ private static final long serialVersionUID = 6928791524390088183L; private JXTable utTable; private UtTableModel utTableModel; private JPanel northPanel; private JScrollPane scrollPane; private JTextField tfFilter; private JButton sel; private final int TABLE_HEADER_HEIGHT = 25; private final int ROW_HEIGHT = 30; private EnumItem enumItem; private ArrayList interEMList; private InterEM interEM; private ArrayList usedList = null; public UsedToDialog(EnumItem enumItem){ initUI(); this.enumItem = enumItem; initData(); //addListener(); } private void initUI(){ this.setTitle("应用范围"); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setSize(screenSize.width/2, screenSize.height/2); this.setModal(true); this.setLocationRelativeTo(null); this.setResizable(false); northPanel = new JPanel(); scrollPane = new JScrollPane(); this.setLayout(new BorderLayout()); this.add(northPanel, BorderLayout.NORTH); this.add(scrollPane, BorderLayout.CENTER); tfFilter = new JTextField(20); sel = new JButton("查询"); northPanel.add(new JLabel("来源")); northPanel.add(tfFilter); northPanel.add(sel); //add by caill start 2015.11.24 将输入框自动过滤改为点击查询按钮过滤事件 sel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub initData(); } }); //add by caill end utTableModel = new UtTableModel(); utTable = new JXTable(utTableModel); utTable.setRowHeight(ROW_HEIGHT); utTable.setHorizontalScrollEnabled(true); utTable.setHighlighters(HighlighterFactory.createAlternateStriping()); //排序后,引起其他页面的数据不显示 utTable.setSortable(false); //设置表头高度 JTableHeader tableHeader = utTable.getTableHeader(); Dimension size = tableHeader.getPreferredSize(); size.height = TABLE_HEADER_HEIGHT; tableHeader.setPreferredSize(size); scrollPane.setViewportView(utTable); } public void initData(){ if(enumItem == null){ return; } usedList = new ArrayList(); String filter = tfFilter.getText(); interEMList = InterEMManager.getInstance().getInterEMList(); for(Iterator i = interEMList.iterator(); i.hasNext();){ interEM = i.next(); ArrayList usedNameList = interEM.getUsedNameList(enumItem.name); if(usedNameList == null){ continue; } for(int k = 0; k < usedNameList.size(); k++){ String usedName = usedNameList.get(k); if(usedName.startsWith(filter)){ usedList.add(usedName); } } } utTableModel.setRowCount(usedList.size()); utTable.setEditable(true); for(int i = 0; i < usedList.size(); i++){ utTable.setValueAt(new EnumItemWrapper(enumItem), i, 0); utTable.setValueAt(usedList.get(i), i, 1); } utTable.setEditable(false); } private void addListener(){ tfFilter.getDocument().addDocumentListener(new DocumentListener() { @Override public void removeUpdate(DocumentEvent e) { initData(); } @Override public void insertUpdate(DocumentEvent e) { initData(); } @Override public void changedUpdate(DocumentEvent e) { initData(); } }); } }