⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 valueobjectlistdialog.java

📁 《j2ee开发全程实录》随书源码
💻 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 + -