package com.vci.client.omd.btm.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.List; 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.table.JTableHeader; import org.jdesktop.swingx.JXTable; import org.jdesktop.swingx.decorator.HighlighterFactory; import com.vci.client.omd.btm.toOutside.InterBtmManager; 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 final int TABLE_HEADER_HEIGHT = 25; private final int ROW_HEIGHT = 30; private String btmName; private JButton btmchaxun; private List usedList = null; public UsedToDialog(String btmName){ initUI(); this.btmName = btmName; initData(""); } private void initUI(){ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setSize(screenSize.width/2, screenSize.height/2); setTitle("应用范围"); 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); northPanel.add(new JLabel("业务类型名称")); northPanel.add(tfFilter); btmchaxun = new JButton("查询"); northPanel.add(btmchaxun); //add by caill 为查询按钮添加点击事件 btmchaxun.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String textValue = tfFilter.getText().trim(); initData(textValue); scrollPane.setViewportView(utTable); } }); 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(String textValue){ usedList = InterBtmManager.getInstance().getUsedNameList(btmName); //utTableModel.setRowCount(usedList.size()); utTable.setEditable(true); //add by caill start 将查询出来的数据做模糊过滤 if(textValue.equals("")) { utTableModel.setRowCount(usedList.size()); for(int i = 0; i < usedList.size(); i++){ utTable.setValueAt(btmName, i, 0); utTable.setValueAt(usedList.get(i), i, 1); } } else { int count=0; for(int i = 0; i < usedList.size(); i++){ if(usedList.get(i).indexOf(textValue)==0) { count+=1; utTableModel.setRowCount(count); utTable.setValueAt(btmName, count-1, 0); utTable.setValueAt(usedList.get(i), count-1, 1); } else if(count==0) { utTableModel.setRowCount(0); } } } //add by caill end utTable.setEditable(false); } }