/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.server.gui.mngr; import com.server.gui.*; import java.awt.Color; import java.util.Vector; import javax.swing.ImageIcon; import javax.swing.border.LineBorder; /** * * @author Administrator */ public class PanelManager { ServerMainForm mainForm = null; Vector clientPanels = new Vector(); ClientPanel selectedClientPanel = null; public PanelManager(ServerMainForm mainForm) { this.mainForm = mainForm; for (int i = 0; i < 20; i++) { addClientPanel(""); } } public void addClientPanel(String ipAddress) { if (ipAddress.equals("") || !isFreePanelAvailable()) { ClientPanel clientPanel = new ClientPanel(); clientPanel.setIpAddress(ipAddress); clientPanels.addElement(clientPanel); mainForm.addClientPanel(clientPanel); } else { ClientPanel clientPanel = getFreePanel(); if (clientPanel != null) { clientPanel.setIpAddress(ipAddress); clientPanel.setFree(false); } } } private boolean isFreePanelAvailable() { for (int i = 0; i < clientPanels.size(); i++) { ClientPanel clientPanel = (ClientPanel) clientPanels.elementAt(i); if (clientPanel.isFree()) { return true; } else { continue; } } return false; } private ClientPanel getFreePanel() { for (int i = 0; i < clientPanels.size(); i++) { ClientPanel clientPanel = (ClientPanel) clientPanels.elementAt(i); if (clientPanel.isFree()) { return clientPanel; } } return null; } public void setClientImage(ImageIcon image, String ipAddress) { ClientPanel clientPanel = getClientPanel(ipAddress); if (clientPanel != null) { clientPanel.setClientDesktop(image); } } public ClientPanel getClientPanel(String ipAddress) { for (int i = 0; i < clientPanels.size(); i++) { ClientPanel clientPanel = (ClientPanel) clientPanels.elementAt(i); if (clientPanel.getIpAddress().trim().equals(ipAddress)) { return clientPanel; } } return null; } void addAllPanels() { for (int i = 0; i < clientPanels.size(); i++) { ClientPanel clientPanel = (ClientPanel) clientPanels.elementAt(i); mainForm.addClientPanel(clientPanel); } } public void setDeafualtPanel(String ipAddress) { ClientPanel clientPanel = getClientPanel(ipAddress); clientPanel.setFree(true); clientPanel.setIpAddress(""); clientPanel.setHostName("Unknown"); clientPanel.setCurrentUserNeame("Unknown"); clientPanel.setOsName("Unknown"); clientPanel.setOsVersion("Unknown"); clientPanel.setOsArch("Unknown"); clientPanel.setDefaultImage(); } public void setSelected(ClientPanel currentClientPanel) { if (selectedClientPanel != null) { selectedClientPanel.setBorder(new LineBorder(Color.BLACK)); selectedClientPanel.setSeleced(false); } currentClientPanel.setBorder(new LineBorder(Color.RED, 2)); currentClientPanel.setSeleced(true); currentClientPanel.updateUI(); mainForm.setSelectedClientInfo(currentClientPanel.getClientIp(), currentClientPanel.getHostName(), currentClientPanel.getOsName(), currentClientPanel.getOsVersion(), currentClientPanel.getOsArch(), currentClientPanel.getCurrentUserNeame()); selectedClientPanel = currentClientPanel; } public ClientPanel getSelectedClientPanel(){ for (int i = 0; i < clientPanels.size(); i++) { ClientPanel clientPanel = (ClientPanel) clientPanels.elementAt(i); if(clientPanel.isSeleced()){ return clientPanel; } } return null; } }