📄 valueobjectlistdialog.java
字号:
package com.cownew.PIS.ui.ctrl.prompt.OVPicker;
import java.awt.BorderLayout;
import java.awt.Dialog;
import java.awt.Frame;
import java.util.List;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import org.apache.commons.beanutils.PropertyUtils;
import com.cownew.PIS.framework.client.ClientMetaDataLoaderFactory;
import com.cownew.PIS.framework.common.IValueObject;
import com.cownew.PIS.framework.common.metaDataMgr.EntityModelInfo;
import com.cownew.PIS.framework.common.metaDataMgr.IMetaDataLoader;
import com.cownew.PIS.ui.ctrl.query.QueryColumnProperty;
import com.cownew.PIS.ui.ctrl.query.QueryColumnPropertyList;
import com.cownew.PIS.ui.ctrl.query.QueryExecutor;
import com.cownew.ctk.ui.swing.JCownewDialog;
import com.cownew.ctk.ui.swing.TableUtils;
public class ValueObjectListDialog extends JCownewDialog
{
private JPanel jContentPane;
private JScrollPane jScrollPane;
private JTable tblMain;
private QueryExecutor queryExecutor;
private List listData;
public ValueObjectListDialog(Dialog owner, QueryExecutor queryExecutor)
throws Exception
{
super(owner);
this.queryExecutor = queryExecutor;
initialize();
}
public ValueObjectListDialog(Frame owner, QueryExecutor queryExecutor)
throws Exception
{
super(owner);
this.queryExecutor = queryExecutor;
initialize();
}
/**
* This method initializes this
*
* @return void
* @throws Exception
*/
private void initialize() throws Exception
{
this.setSize(300, 200);
this.setContentPane(getJContentPane());
IMetaDataLoader metaDataLoader = ClientMetaDataLoaderFactory
.getLoader();
String entityPath = queryExecutor.getBaseDAO().getEntityPath();
EntityModelInfo eInfo = metaDataLoader
.loadEntityByEntityPath(entityPath);
setTitle(eInfo.getAlias());
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane()
{
if (jContentPane == null)
{
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJScrollPane(), BorderLayout.CENTER);
jContentPane.add(getButtonPane(), BorderLayout.SOUTH);
}
return jContentPane;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane()
{
if (jScrollPane == null)
{
jScrollPane = new JScrollPane();
jScrollPane.setViewportView(getJTable());
}
return jScrollPane;
}
private JPanel getButtonPane()
{
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.setSize(200, 200);
JButton btnOK = createOKBtn();
btnOK.setText("确定");
panel.add(btnOK, BorderLayout.WEST);
btnOK.setVisible(true);
JButton btnCanel = createCancelBtn();
btnCanel.setText("取消");
panel.add(btnCanel, BorderLayout.EAST);
btnCanel.setVisible(true);
return panel;
}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
private JTable getJTable()
{
if (tblMain == null)
{
tblMain = new JTable();
}
return tblMain;
}
public void refreshData() throws Exception
{
listData = queryExecutor.executeQuery();
QueryColumnPropertyList columnList = queryExecutor.getColumnList();
Vector tableHead = new Vector(columnList.size());
for (int i = 0, n = columnList.size(); i < n; i++)
{
tableHead
.add(columnList.getQueryColumnProperty(i).getDisplayName());
}
DefaultTableModel tableModel = new DefaultTableModel(tableHead, 0);
for (int i = 0, n = listData.size(); i < n; i++)
{
Vector rowData = new Vector(columnList.size());
Object info = listData.get(i);
for (int j = 0, m = columnList.size(); j < m; j++)
{
String column = columnList.getQueryColumnProperty(j)
.getColumn();
rowData.add(PropertyUtils.getProperty(info, column));
}
tableModel.addRow(rowData);
}
tblMain.setModel(tableModel);
for (int i = 0, n = columnList.size(); i < n; i++)
{
TableColumn column = tblMain.getTableHeader().getColumnModel()
.getColumn(i);
QueryColumnProperty columnProperty = columnList
.getQueryColumnProperty(i);
String columnId = columnProperty.getColumn();
column.setIdentifier(columnId);
if (!columnProperty.isVisible())
{
TableUtils.hideColumn(tblMain, column.getModelIndex());
}
}
}
public IValueObject getSelectedData()
{
int row = tblMain.getSelectedRow();
if (row < 0)
{
return null;
}
return (IValueObject) listData.get(row);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -