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.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 javax.swing.table.DefaultTableModel;
|
import javax.swing.table.JTableHeader;
|
import org.jdesktop.swingx.JXTable;
|
import org.jdesktop.swingx.decorator.HighlighterFactory;
|
|
import com.vci.client.omd.btm.toOutside.Datacenter;
|
|
public class RevisionSelectDialog extends JDialog{
|
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 3729287544312985366L;
|
|
private JPanel northPanel, centerPanel, southPanel;
|
private JButton btnOK, btnCancel;
|
private JScrollPane scrollPane;
|
private JXTable table;
|
private DefaultTableModel tableModel;
|
private String[] tableHeader = {"版本号规则"};
|
private final int rowHeight = 40;
|
private final int headerHeight = 40;
|
private String[] names;
|
private String selectName = "";
|
private JLabel jla;
|
public JTextField jt1;
|
private JButton sel;
|
public RevisionSelectDialog(){
|
initUI();
|
initTable();
|
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);
|
|
this.setLayout(new BorderLayout());
|
//查询框和查询按钮
|
northPanel = new JPanel();
|
//生命周期模板名字列表
|
centerPanel = new JPanel();
|
//确定,取消按钮
|
southPanel = new JPanel();
|
this.add(northPanel, BorderLayout.NORTH);
|
this.add(centerPanel, BorderLayout.CENTER);
|
this.add(southPanel, BorderLayout.SOUTH);
|
sel = new JButton("查询");
|
jt1 = new JTextField(20);
|
jla = new JLabel("版本号规则");
|
northPanel.add(jla);
|
northPanel.add(jt1);
|
northPanel.add(sel);
|
|
scrollPane = new JScrollPane();
|
centerPanel.setLayout(new BorderLayout());
|
centerPanel.add(scrollPane, BorderLayout.CENTER);
|
|
tableModel = new DefaultTableModel();
|
tableModel.setColumnCount(tableHeader.length);
|
tableModel.setColumnIdentifiers(tableHeader);
|
table = new JXTable(tableModel);
|
|
table.setHighlighters(HighlighterFactory.createSimpleStriping());
|
table.setHorizontalScrollEnabled(true);
|
table.setSortable(false);
|
table.setRowHeight(rowHeight);
|
JTableHeader tableHeader = table.getTableHeader();
|
Dimension size = tableHeader.getPreferredSize();
|
size.height = headerHeight;
|
tableHeader.setPreferredSize(size);
|
scrollPane.setViewportView(table);
|
|
btnOK = new JButton("确定");
|
btnCancel = new JButton("取消");
|
southPanel.add(btnOK);
|
southPanel.add(btnCancel);
|
}
|
|
private void initTable(){
|
names = Datacenter.getInstance().getRevNames();
|
if(names == null){
|
return;
|
}
|
|
tableModel.setRowCount(names.length);
|
table.setEditable(true);
|
for(int i = 0; i < names.length; i++){
|
table.setValueAt(names[i], i, 0);
|
}
|
table.setEditable(false);
|
}
|
|
private void addListener(){
|
btnOK.addActionListener(new ActionListener() {
|
|
@Override
|
public void actionPerformed(ActionEvent e) {
|
int selectRow = table.getSelectedRow();
|
if(selectRow >= 0){
|
selectName = (String) table.getValueAt(selectRow, 0);
|
}
|
dispose();
|
}
|
});
|
|
btnCancel.addActionListener(new ActionListener() {
|
|
@Override
|
public void actionPerformed(ActionEvent e) {
|
dispose();
|
}
|
});
|
//add by caill start 2015.11.26 根据查询框中的关键字过滤数据
|
sel.addActionListener(new ActionListener() {
|
|
@Override
|
public void actionPerformed(ActionEvent arg0) {
|
// TODO Auto-generated method stub
|
initTable2();
|
}
|
});
|
}
|
private void initTable2(){
|
names = Datacenter.getInstance().getRevNames();
|
if(names == null){
|
return;
|
}
|
String value = jt1.getText().trim();
|
ArrayList<String> list = new ArrayList<String>();
|
for(int i = 0; i < names.length; i++){
|
if(names[i].startsWith(value)){
|
list.add(names[i]);
|
}else if(value.equals("")){
|
list.add(names[i]);
|
}
|
}
|
tableModel.setRowCount(list.size()); //为tableModel设置行数,使行数等于过滤后数据的条数
|
table = new JXTable(tableModel);
|
table.setEditable(true);
|
for(int i = 0; i < list.size(); i++){
|
table.setValueAt(list.get(i), i, 0);
|
}
|
table.setEditable(true);
|
}
|
//add by caill end
|
public String getSelectName(){
|
return selectName;
|
}
|
}
|