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<String> 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);
|
}
|
|
}
|