package com.vci.client.logon.client; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Point; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.net.URL; import java.net.UnknownHostException; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import javax.swing.ImageIcon; import javax.swing.JApplet; import javax.swing.JTabbedPane; import javax.swing.LayoutFocusTraversalPolicy; import javax.swing.UIManager; import com.vci.client.ClientSession; import com.vci.client.LogonApplication; import com.vci.client.common.ConfigUtils; import com.vci.client.common.objects.UserEntityObject; import com.vci.client.common.objects.UserObject; import com.vci.client.framework.delegate.RightManagementClientDelegate; import com.vci.client.framework.rightConfig.modelConfig.ModuleConfigMainPanel; import com.vci.client.framework.rightConfig.object.FunctionObject; import com.vci.client.framework.util.RightControlUtil; import com.vci.client.ui.image.BundleImage; import com.vci.client.ui.swing.VCISwingUtil; import com.vci.client.ui.swing.components.VCIJLabel; import com.vci.client.ui.swing.components.VCIJMenuBar; import com.vci.client.ui.swing.components.VCIJPanel; import com.vci.client.ui.swing.components.VCIJTabbedPane; public class VciApplet extends JApplet { /** * */ private static final long serialVersionUID = 3126730670301568638L; private VCIJTabbedPane tabbedPane = null; private String userName = "lilb"; private VCIJTabbedPane secondTabbedPane = null; private Map funcMap = new LinkedHashMap(); private HashMap moduleListMap = new LinkedHashMap(); private HashMap secondModuleListMap = new LinkedHashMap(); private HashMap alreadLoadedPanles = new LinkedHashMap(); private HashMap secondeAlreadLoadedPanles = new LinkedHashMap(); private TopBannerPanel topBannerPanel = new TopBannerPanel(); private boolean isLoadFlagData = true;//是否显示需要被标示的数据 // private String appletMessage = "a=任务箱 & b=申请任务 & c=代办任务 & d =xxxxx "; private String[] appletMessage = {"任务箱","申请任务","待办任务","440064"}; public void init() { try { // NimbusLookAndFeel ClientSession.reInit(); VCISwingUtil.setLookAndFeel(); userName = this.getParameter("userName"); // appletMessage=this.getParameter(""); System.out.println(userName); UserObject userObject = new RightManagementClientDelegate().getUserObjToLock(userName); String ip = this.getLocalIP(); String userName = userObject.getUserName(); UserEntityObject entityObj = new UserEntityObject(userName, ip); LogonApplication.userEntityObject = entityObj; System.out.println(LogonApplication.getUserEntityObject().getUserName()); System.out.println(LogonApplication.getUserEntityObject().getIp()); LogonApplication.userObject = userObject; LogonApplication.frame = getFrame(); initTabbedPane(); VCIJPanel palCont = new VCIJPanel(new BorderLayout()); setLayout(new BorderLayout()); // palCont.add(topBannerPanel, BorderLayout.NORTH); palCont.add(tabbedPane,BorderLayout.CENTER); this.setContentPane(palCont); } catch (Exception e) { e.printStackTrace(); } } public void start() { ClientSession.reInit(); } private String getLocalIP() { String ip = "127.0.0.1"; try { ip = java.net.InetAddress.getLocalHost().getHostAddress(); } catch (UnknownHostException e) { e.printStackTrace(); } return ip; } private void initTabbedPane() throws Exception { tabbedPane = new VCIJTabbedPane(); tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT); int index = 0; int loadTopTab = 0; // 系统功能模块配置 if(RightControlUtil.isDeveloper(userName)){ ModuleConfigMainPanel modulePanel = new ModuleConfigMainPanel(); index ++; tabbedPane.addTab("系统功能模块配置", VCISwingUtil.createImageIcon("product.gif"), modulePanel, "系统功能模块配置"); } /**获取当前用户看到的第一级节点模块**/ FunctionObject[] funcObjs = RightControlUtil.getFunctionsByRight("business", userName); for(int i = 0;i dataMap = new LinkedHashMap(); dataMap.put("1",new String[]{appletMessage[2]}); dataMap.put("2",new String[]{appletMessage[3]}); funcObjs[i].setMap(dataMap); flag =false; } VCIModuleMainPanel secondMainPanel = new VCIModuleMainPanel(funcObjs[i]); secondModuleListMap.put(index++, secondMainPanel); secondTabbedPane.addTab(funcObjs[i].getName(), this.getImageIcon(funcObjs[i].getImage()), secondMainPanel, funcObjs[i].getName()); } modulePanel.removeAll(); modulePanel.setLayout(new BorderLayout()); modulePanel.add(secondTabbedPane,BorderLayout.CENTER); tabbedPane.setComponentAt(n, modulePanel); tabbedPane.setSelectedIndex(n); alreadLoadedPanles.put(n, modulePanel); /***二级table页加载事件***/ loadSecondTab(loadSecondPanelIndex); // secondTabbedPane.addMouseListener(new MouseAdapter() { // public void mouseClicked(MouseEvent arg0) { // int n = secondTabbedPane.getSelectedIndex(); // loadSecondTab(n); // } // }); // } } else { this.setJMenuBar(new VCIJMenuBar()); VCIJPanel pal = new VCIJPanel(); VCIJLabel lbl = new VCIJLabel("加载模块面板出错!"); lbl.setForeground(Color.red); pal.add(lbl); tabbedPane.setComponentAt(n, pal); } } } private void loadSecondTab(int n) { if(secondModuleListMap.containsKey(n)) { VCIModuleMainPanel secondMainPanel = this.secondModuleListMap.get(n); LogonApplication.getUserEntityObject().setModules(secondMainPanel.getSelectModuleName());//重新记录模块信息 if(null != secondMainPanel) { secondMainPanel.removeAll(); secondMainPanel.init(); secondTabbedPane.setComponentAt(n, secondMainPanel); secondTabbedPane.setSelectedIndex(n); secondeAlreadLoadedPanles.put(n, secondMainPanel); } } isLoadFlagData = false;//保证当系统初次加载的时候才执行,其他有面板切换的动作,均按正常模板显示样式处理 } private BundleImage bundleImage = new BundleImage(); private ImageIcon getImageIcon(String icon) { return bundleImage.createImageIcon(icon); } public Frame getFrame() { Container c = this.getParent(); while (c != null) { if (c instanceof Frame) { return (Frame) c; } c = c.getParent(); } return null; } private static void setUIFont (javax.swing.plaf.FontUIResource f) { java.util.Enumeration keys = UIManager.getDefaults().keys(); while (keys.hasMoreElements()) { Object key = keys.nextElement(); Object value = UIManager.get (key); if (value instanceof javax.swing.plaf.FontUIResource) UIManager.put (key, f); } } public void setAllSize(){ this.setSize(new Dimension( 1024, 768)); } }