package com.vci.client.portal.UI.v3; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import com.vci.client.ui.swing.components.VCIJPanel; import com.vci.client.ui.swing.components.VCIJSplitPane; import com.vci.corba.omd.btm.BtmItem; import com.vci.corba.portal.data.PLUILayout; import com.vci.corba.portal.data.PLTabPage; /** * 上下文里的一个区域里的页签及组件 * *

Title:

*

Description:

*

Copyright: Copyright (c) 2016

*

Company: VCI

* @author xiongchao * @time 2017-2-15 * @version 1.0 */ public class RegionDataPanel extends VCIJPanel { /** * */ private static final long serialVersionUID = 8416846864932132684L; private VCIJSplitPane jspUpDwon = null; private BtmItem btmItem = null; private PLUILayout pageLayoutDefination = null; private short areaType = -1; public RegionDataPanel(){ } public void refreshUI(){ clearUI(); tabPagePanel.setBtmItem(getBtmItem()); tabPagePanel.setPageLayoutDefination(getPageLayoutDefination()); tabPagePanel.setAreaType(getAreaType()); tabPagePanel.refreshUI(); } public void clearUI(){ if(tabPagePanel != null){ tabPagePanel.getTablePanel().getTableModel().clear(); tabPagePanel.getTablePanel().getTableModel().fireTableDataChanged(); } if(tabPageComptPanel != null){ tabPageComptPanel.setPageLayoutDefination(null); tabPageComptPanel.setTabPage(null); tabPageComptPanel.getTablePanel().getTableModel().clear(); tabPageComptPanel.getTablePanel().getTableModel().fireTableDataChanged(); } } public void buildUI(){ init(); } private TabPagePanel tabPagePanel = null; private TabPageComptPanel tabPageComptPanel = null; private void init(){ setLayout(new BorderLayout()); jspUpDwon = new VCIJSplitPane(VCIJSplitPane.VERTICAL_SPLIT); jspUpDwon.setDividerSize(6); jspUpDwon.setContinuousLayout(true); jspUpDwon.setOneTouchExpandable(true); jspUpDwon.setDividerLocation(500); tabPagePanel = new TabPagePanel(); tabPagePanel.setBtmItem(getBtmItem()); tabPagePanel.setPageLayoutDefination(getPageLayoutDefination()); tabPagePanel.setAreaType(getAreaType()); tabPagePanel.buildUI(); tabPagePanel.getTablePanel().getTable().getSelectionModel().addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { tabPage_valueChange(); } }); tabPagePanel.addRefreshUIActionListener(new TabPageRefreshActionListener() { @Override public void actionPerformed(ActionEvent e) { tabPageComptPanel.clearUI(); tabPageComptPanel.setTabPage(null); tabPageComptPanel.refreshUI(); } }); tabPageComptPanel = new TabPageComptPanel(); tabPageComptPanel.setBtmItem(getBtmItem()); tabPageComptPanel.setPageLayoutDefination(getPageLayoutDefination()); tabPageComptPanel.setTabPage(null); tabPageComptPanel.setAreaType(getAreaType()); tabPageComptPanel.buildUI(); jspUpDwon.setLeftComponent(tabPagePanel); jspUpDwon.setRightComponent(tabPageComptPanel); add(jspUpDwon, BorderLayout.CENTER); } private void tabPage_valueChange(){ int row = tabPagePanel.getTablePanel().getTable().getSelectedRow(); if(row < 0) return; PLTabPage tabPage = tabPagePanel.getTablePanel().getSpecialObjectByRowIndex(row); tabPageComptPanel.setBtmItem(getBtmItem()); tabPageComptPanel.setPageLayoutDefination(getPageLayoutDefination()); tabPageComptPanel.setTabPage(tabPage); tabPageComptPanel.setAreaType(getAreaType()); tabPageComptPanel.refreshUI(); } public BtmItem getBtmItem() { return btmItem; } public void setBtmItem(BtmItem btmItem) { this.btmItem = btmItem; if(tabPagePanel != null){ tabPagePanel.setBtmItem(btmItem); } if(tabPageComptPanel != null){ tabPageComptPanel.setBtmItem(btmItem); } } public PLUILayout getPageLayoutDefination() { return pageLayoutDefination; } public void setPageLayoutDefination(PLUILayout pageLayoutDefination) { this.pageLayoutDefination = pageLayoutDefination; if(tabPagePanel != null){ tabPagePanel.setPageLayoutDefination(pageLayoutDefination); } if(tabPageComptPanel != null){ tabPageComptPanel.setPageLayoutDefination(getPageLayoutDefination()); } } public short getAreaType() { return areaType; } public void setAreaType(short areaType) { this.areaType = areaType; } }