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

📄 objectmaintainer.java

📁 用于传感器网络的节点操作系统 TinyOS 结构设计非常有意思
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	}

	protected void TriggerEdgeCreatedEvent(EdgeEvent e)
	{
		      //for each listener
		EdgeEventListener currentListener;
		for(Enumeration list = edgeListeners.elements(); list.hasMoreElements();)
		{
			currentListener = (EdgeEventListener)list.nextElement();
			currentListener.EdgeCreated(e);//send the listener an event
        }			
	}

	protected void TriggerEdgeDeletedEvent(EdgeEvent e)
	{
		      //for each listener
		EdgeEventListener currentListener;
		for(Enumeration list = edgeListeners.elements(); list.hasMoreElements();)
		{
			currentListener = (EdgeEventListener)list.nextElement();
			currentListener.EdgeDeleted(e);//send the listener an event
        }			
	}

	          //*****---SHOW PROPERTIES DIALOG---******//
	public void ShowPropertiesDialog()
	{
		StandardDialog newDialog = new StandardDialog(new ObjectMaintainerPropertiesPanel(this));
		newDialog.show();
    }
	          //*****---SHOW PROPERTIES DIALOG---******//
    
    
	public void EdgeClicked(EdgeClickedEvent e){}
	public void NodeClicked(NodeClickedEvent e){}

	
			//*****---Thread commands---******//
    public void start(){ try{ oldObjectDeleterThread=new Thread(this);oldObjectDeleterThread.start();} catch(Exception e){e.printStackTrace();}}
    // public void stop(){ try{ oldObjectDeleterThread.stop();} catch(Exception e){e.printStackTrace();}}
    public void sleep(long p){ try{ oldObjectDeleterThread.sleep(p);} catch(Exception e){e.printStackTrace();}}
    public void setPriority(int p) { try{oldObjectDeleterThread.setPriority(p);} catch(Exception e){e.printStackTrace();}}    
			//*****---Thread commands---******//

			//*****---GET/SET commands---******//
    public long GetNodeExpireTime() { return nodeExpireTime;}    
    public long GetEdgeExpireTime() { return edgeExpireTime;}    
    public long GetEdgeInitialPersisistance() { return edgeInitialPersistance;}    
    public long GetNodeInitialPersisistance() { return nodeInitialPersistance;}    
    public long GetExpirationCheckRate() { return expirationCheckRate;}  
    
    public ActivePanel GetProprietaryNodeInfoPanel(Integer pNodeNumber)
    {
    	return new ProprietaryNodeInfoPanel((NodeInfo)nodeInfo.get(pNodeNumber));
    }

    public ActivePanel GetProprietaryEdgeInfoPanel(Integer pSourceNodeNumber, Integer pDestinationNodeNumber)
    {
    	EdgeInfo info = (EdgeInfo)edgeInfo.get(pSourceNodeNumber, pDestinationNodeNumber);
    	if(info==null) return null;
    	return new ProprietaryEdgeInfoPanel(info);
    }

	public void SetNodeExpireTime(long p) { nodeExpireTime = p;}    
    public void SetEdgeExpireTime(long p) { edgeExpireTime = p;}    
    public void SetEdgeInitialPersisistance(long p) { edgeInitialPersistance = p;}    
    public void SetNodeInitialPersisistance(long p) { nodeInitialPersistance = p;}    
    public void SetExpirationCheckRate(long p) { expirationCheckRate = p;}    
//*****---GET/SET commands---******//

              //***************************************************************************
              //***************************************************************************
              //NODE MAINTANCE INFO CLASS
	public class NodeInfo
	{
		protected Integer nodeNumber;
		protected boolean base;
		protected Integer parent;
		protected Date timeCreated;
		protected Date timeLastSeen;
		protected Date secondToLastTimeSeen;
		protected Vector motesConnectedTo;
		protected boolean created;//this indicates whether everybody else has already been notified that this node exists (allows us to wait until we hear it more than once before creating it)
		
		public NodeInfo(Integer pNodeNumber, Date time)
		{
			nodeNumber = pNodeNumber;
			timeCreated = time;
			timeLastSeen = time;
			secondToLastTimeSeen = time;
			created = false;
		}
		
		public Integer GetNodeNumber(){return nodeNumber;}
		public Date GetTimeCreated()
		{
			return timeCreated;
		}
		
		public void SetTimeCreated(Date time)
		{
			timeCreated = time;
		}
		
		public Date GetTimeLastSeen()
		{
			return timeLastSeen;
		}
		
		public Date GetSecondToLastTimeSeen()
		{
			return secondToLastTimeSeen;
		}
 
 		public void SetTimeLastSeen(Date time)
		{
			secondToLastTimeSeen = timeLastSeen;
			timeLastSeen = time;
		}
		public boolean GetCreated(){return created;}
		public void SetCreated(boolean pCreated){created = pCreated;}
		public Integer GetParent(){return parent;}
		public void SetParent(Integer pParent){parent = pParent;}
		public void SetBase(boolean pbase){base = pbase;}
		public boolean GetBase(){return nodeNumber.intValue() == 0;}
	}
	          //EDGEMAINTAINECE INFO
	public class EdgeInfo
	{
		protected Integer sourceNodeNumber;
		protected Integer destinationNodeNumber;
		protected Date timeCreated;
		protected Date timeLastSeen;
		
		public EdgeInfo(Integer pSourceNodeNumber, Integer pDestinationNodeNumber, Date time)
		{
			sourceNodeNumber = pSourceNodeNumber;
			destinationNodeNumber = pDestinationNodeNumber;
			timeCreated = time;
			timeLastSeen = time;
		}
		
		public Integer GetSourceNodeNumber(){return sourceNodeNumber;}
		public Integer GetDestinationNodeNumber(){return destinationNodeNumber;}
		public Date GetTimeCreated()
		{
			return timeCreated;
		}
		
		public void SetTimeCreated(Date time)
		{
			timeCreated = time;
		}
		
		public Date GetTimeLastSeen()
		{
			return timeLastSeen;
		}
		
		public void SetTimeLastSeen(Date time)
		{
			timeLastSeen = time;
		}
	}
	          //NODE INFO PANEL
	public class ProprietaryNodeInfoPanel extends net.tinyos.tinydb.topology.Dialog.ActivePanel
	{
		NodeInfo nodeInfo;
		
		public ProprietaryNodeInfoPanel(NodeInfo pNodeInfo)
		{
			tabTitle = "Creation";
			nodeInfo = pNodeInfo;
			setLayout(null);
//			Insets ins = getInsets();
			setSize(307,168);
			JLabel3.setToolTipText("The time in milliseconds that this node was first seen");
			JLabel3.setText("Time Created:");
			add(JLabel3);
			JLabel3.setBounds(12,36,108,24);
			JLabel4.setToolTipText("The time in milliseconds that this node was last seen");
			JLabel4.setText("Time Last Seen");
			add(JLabel4);
			JLabel4.setBounds(12,60,108,24);
			JTextField1.setNextFocusableComponent(JTextField2);
			JTextField1.setToolTipText("The scale of the coordinate system is determined by the user, and scaled automatically by the system to fit to the screen");
			JTextField1.setText("1.5");
			add(JTextField1);
			JTextField1.setBounds(108,36,180,18);
			JTextField2.setNextFocusableComponent(JTextField3);
			JTextField2.setToolTipText("The scale of the coordinate system is determined by the user, and scaled automatically by the system to fit to the screen");
			JTextField2.setText("3.2");
			add(JTextField2);
			JTextField2.setBounds(108,60,180,18);
			JLabel1.setToolTipText("The second to last time seen");
			JLabel1.setText("Time Before");
			add(JLabel1);
			JLabel1.setBounds(12,84,90,18);
			JTextField3.setNextFocusableComponent(JTextField1);
			JTextField3.setToolTipText("The second to last time seen");
			JTextField3.setText("4.5");
			add(JTextField3);
			JTextField3.setBounds(108,84,180,18);
			JLabel2.setText("Node Number:");
			add(JLabel2);
			JLabel2.setFont(new Font("Dialog", Font.BOLD, 16));
			JLabel2.setBounds(48,0,120,39);
			JLabel5.setToolTipText("The number used to identify this node");
			JLabel5.setText("jlabel");
			add(JLabel5);
			JLabel5.setForeground(java.awt.Color.blue);
			JLabel5.setFont(new Font("Dialog", Font.BOLD, 16));
			JLabel5.setBounds(180,0,48,33);

		}

		javax.swing.JLabel JLabel3 = new javax.swing.JLabel();
		javax.swing.JLabel JLabel4 = new javax.swing.JLabel();
		javax.swing.JTextField JTextField1 = new javax.swing.JTextField();
		javax.swing.JTextField JTextField2 = new javax.swing.JTextField();
		javax.swing.JLabel JLabel1 = new javax.swing.JLabel();
		javax.swing.JTextField JTextField3 = new javax.swing.JTextField();
		javax.swing.JLabel JLabel2 = new javax.swing.JLabel();
		javax.swing.JLabel JLabel5 = new javax.swing.JLabel();
		
		public void ApplyChanges()
		{
//			nodeInfo.SetTimeCreated(new Date(JTextField1.getText()));
//			nodeInfo.SetTimeLastSeen(new Date(JTextField2.getText()));
		}
		
		public void InitializeDisplayValues()
		{
			JTextField1.setText(String.valueOf(nodeInfo.GetTimeCreated()));
			JTextField2.setText(String.valueOf(nodeInfo.GetTimeLastSeen()));
			JTextField3.setText(String.valueOf(nodeInfo.GetSecondToLastTimeSeen()));
			JLabel5.setText(String.valueOf(nodeInfo.GetNodeNumber()));
		}
	}	          
	          //NODE INFO PANEL
	          //EDGE INFO PANEL
	public class ProprietaryEdgeInfoPanel extends net.tinyos.tinydb.topology.Dialog.ActivePanel
	{
		EdgeInfo edgeInfo;
		
		public ProprietaryEdgeInfoPanel(EdgeInfo pedgeInfo)
		{
			tabTitle = "Creation";
			edgeInfo = pedgeInfo;
			setLayout(null);
//			Insets ins = getInsets();
			setSize(307,168);
			JLabel3.setToolTipText("The time in milliseconds that this node was first seen");
			JLabel3.setText("Time Created:");
			add(JLabel3);
			JLabel3.setBounds(24,60,108,24);
			JLabel4.setToolTipText("The time in milliseconds that this node was last seen");
			JLabel4.setText("Time Last Seen");
			add(JLabel4);
			JLabel4.setBounds(24,84,108,24);
			JTextField1.setNextFocusableComponent(JTextField2);
			JTextField1.setToolTipText("The scale of the coordinate system is determined by the user, and scaled automatically by the system to fit to the screen");
			JTextField1.setText("1.5");
			add(JTextField1);
			JTextField1.setBounds(120,60,180,18);
			JTextField2.setNextFocusableComponent(JTextField1);
			JTextField2.setToolTipText("The scale of the coordinate system is determined by the user, and scaled automatically by the system to fit to the screen");
			JTextField2.setText("3.2");
			add(JTextField2);
			JTextField2.setBounds(120,84,180,18);
			JLabel2.setText("Source Node Number:");
			add(JLabel2);
			JLabel2.setBounds(24,12,156,12);
			JLabel1.setText("Destination Node Number");
			add(JLabel1);
			JLabel1.setBounds(24,36,150,15);
			JLabel5.setText("jlabel");
			add(JLabel5);
			JLabel5.setBounds(192,12,36,12);
			JLabel6.setText("jlabel");
			add(JLabel6);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -