package com.vci.client.omd.attribpool.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 javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextField; import org.jdesktop.swingx.JXTable; import com.vci.client.omd.attribpool.toOutside.InterAP; import com.vci.client.omd.attribpool.toOutside.InterAPManager; import com.vci.client.omd.inter.impl.InterAPForBt; public class BtmSelectDialog extends JDialog{ /** * */ private static final long serialVersionUID = -706946271792634086L; private String selectBtmName = ""; private JXTable btmTable; private JPanel northPanel; private JPanel centerPanel; private JPanel southPanel; private JScrollPane scrollPanel; private JButton btnOK; private JButton btnCancel; public JTextField textField=new JTextField(20); private JButton sel; public BtmSelectDialog(){ this.btmTable = getBtTable(""); initUI(); initTable(); addListener(); } public 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); this.setLayout(new BorderLayout(5, 5)); //add by caill //查询按钮 northPanel=new JPanel(); //业务类型列表 centerPanel = new JPanel(); //确定,取消按钮 southPanel = new JPanel(); this.add(northPanel,BorderLayout.NORTH); this.add(centerPanel, BorderLayout.CENTER); this.add(southPanel, BorderLayout.SOUTH); northPanel.add(new JLabel("业务类型名")); northPanel.add(textField); //add by caill start sel=new JButton("查询"); northPanel.add(sel); sel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String filter = textField.getText().trim(); btmTable = getBtTable(filter); scrollPanel.setViewportView(btmTable); } }); //add by caill end centerPanel.setLayout(new BorderLayout()); scrollPanel = new JScrollPane(); centerPanel.add(scrollPanel, BorderLayout.CENTER); btnOK = new JButton("确定"); btnCancel = new JButton("取消"); southPanel.add(btnOK); southPanel.add(btnCancel); } private void initTable(){ scrollPanel.setViewportView(btmTable); } private void addListener(){ btnOK.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int selectRow = btmTable.getSelectedRow(); selectBtmName = (String) btmTable.getValueAt(selectRow, 1); dispose(); } }); btnCancel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dispose(); } }); } public String getSelectedBtwName(){ return selectBtmName; } /** * 获取注入的业务Table * @param textValue * @return */ //add by caill 为getBtTable添加textValue参数,用来传递查询框中的内容 public JXTable getBtTable(String filter){ JXTable table = null; ArrayList interAPList = InterAPManager.getInstance().getInterAPList(); for(InterAP interAP : interAPList ){ if(interAP instanceof InterAPForBt){ table = ((InterAPForBt) interAP).getBtTable(filter); break; } } return table; } }