ludc
2025-01-16 986aa62ed00bee39363bab41b4eeb8259d446efd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
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);
   }
    
}