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

📄 displaymanager.java

📁 nesC写的heed算法
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    	proprietaryEdgeInfo.remove(sourceNodeNumber, destinationNodeNumber);    }	          //*****---EdgeDeleted---******//              //------------------------------------------------------------------------              //------------------------------------------------------------------------	          //*****---GRAPHICS COMMANDS---******//	public void NodeClicked(NodeClickedEvent e){}	public void EdgeClicked(EdgeClickedEvent e){}		public ActivePanel GetProprietaryNodeInfoPanel(Integer pNodeNumber)	{		ProprietaryNodeInfoPanel panel = new ProprietaryNodeInfoPanel((NodeInfo)proprietaryNodeInfo.get(pNodeNumber));		return (ActivePanel)panel;	}	public ActivePanel GetProprietaryEdgeInfoPanel(Integer pSourceNodeNumber, Integer pDestinationNodeNumber) 	{		return null;/*		ProprietaryNodeInfoPanel panel = new ProprietaryNodeInfoPanel((NodeInfo)proprietaryNodeInfo.get(pEdge.GetSource().GetNodeNumber()));		return (ActivePanel)panel;*/	}	public void ShowPropertiesDialog() 	{		StandardDialog newDialog = new StandardDialog(new DisplayPropertiesPanel());		newDialog.show();	}//*****---GRAPHICS COMMANDS---******//              //------------------------------------------------------------------------	        //*********************************************************	        //*********************************************************	        //*********************************************************              //NODE INFO CLASS              //this class should hold any special information you hold about the              //node, for example time created or a history of the number of packets              //forwarded through this mote or whetever it is you are studying	public class NodeInfo	{		protected Integer nodeNumber;		protected ImageIcon imageHelper;		protected Image image;		protected double imageWidth, imageHeight;		protected boolean displayThisNode;		protected boolean displayNodeNumber;		protected boolean fitOnScreen;		public NodeInfo(Integer pNodeNumber)		{			nodeNumber = pNodeNumber;			imageHelper = new ImageIcon("images/base.gif","images/base.gif");			image = imageHelper.getImage();			imageWidth = 5;//note that this width and height is in node coordinates (hence it scales automatically with the size of the network, but must be initialized properly)			imageHeight = 5;			displayThisNode = true;			displayNodeNumber = true;			fitOnScreen = true;		}				public Integer GetNodeNumber(){return nodeNumber;}		public  ImageIcon GetImageHelper(){ return imageHelper;}		public  Image GetImage(){ return image;}		public  double GetImageWidth(){ 				return imageWidth;}		public  double GetImageHeight(){ return imageHeight;}		public  boolean GetDisplayThisNode(){ return displayThisNode;}		public  boolean GetDisplayNodeNumber(){ return displayNodeNumber;}		public  boolean GetFitOnScreen(){ return fitOnScreen;}		public  void SetImageHelper(ImageIcon pImageHelper){  imageHelper =pImageHelper;}		public  void SetImage(Image pImage){  image =pImage;}		public  void SetImageWidth(double w){  imageWidth = w;}		public  void SetImageHeight(double h){  imageHeight = h;}		public  void SetDisplayThisNode(boolean pDisplay){  displayThisNode=pDisplay;}		public  void SetDisplayNodeNumber(boolean pDisplayNumber){  displayNodeNumber=pDisplayNumber;}		public  void SetFitOnScreen(boolean pFit){  fitOnScreen=pFit;}	}	          //NODE INFO	        //*********************************************************	        //*********************************************************	        //*********************************************************				        	        //*********************************************************	        //*********************************************************	        //*********************************************************	          //EDGEINFO              //this class should hold any special information you hold about the              //edge, for example time created or a history of the number of packets              //forwarded over this edge or whetever it is you are studying	public class EdgeInfo	{		protected Integer sourceNodeNumber;		protected Integer destinationNodeNumber;				public EdgeInfo(Integer pSourceNodeNumber, Integer pDestinationNodeNumber)		{			sourceNodeNumber = pSourceNodeNumber;			destinationNodeNumber = pDestinationNodeNumber;		}					          		public Integer GetSourceNodeNumber(){return sourceNodeNumber;}				public Integer GetDestinationNodeNumber(){return destinationNodeNumber;}			}	          //EDGE INFO	        //*********************************************************	        //*********************************************************	        //*********************************************************	        //*********************************************************	        //*********************************************************	        //*********************************************************              //PROPRIETARY NODE INFO DISPLAY PANEL              //This class is an ActivePanel and should have all the information              //in GUI form that this class stores with respect to nodes              //It should be return with GetProprietaryNodeInfoPanel and it will be displayed              //with all the other packet analyzer proprietary info when a node is clicked.	public class ProprietaryNodeInfoPanel extends net.tinyos.tinydb.topology.Dialog.ActivePanel	{		NodeInfo nodeInfo;				public ProprietaryNodeInfoPanel(NodeInfo pNodeInfo)		{			tabTitle = "Display";			nodeInfo = pNodeInfo;			//{{INIT_CONTROLS			setLayout(null);			Insets ins = getInsets();			setSize(259,279);			JLabel3.setText("Image Width");			add(JLabel3);			JLabel3.setBounds(36,48,84,24);			JLabel4.setText("Image Height");			add(JLabel4);			JLabel4.setBounds(36,72,75,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,48,87,18);			JTextField2.setNextFocusableComponent(JCheckBox1);			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,72,87,18);			JLabel1.setText("Image");			add(JLabel1);			JLabel1.setBounds(36,24,84,24);			JTextField3.setNextFocusableComponent(JTextField1);			JTextField3.setText("image/base.gif");			add(JTextField3);			JTextField3.setBounds(84,24,162,18);			JCheckBox1.setNextFocusableComponent(JCheckBox2);			JCheckBox1.setSelected(true);			JCheckBox1.setToolTipText("Check this if you want this node to appear on the screen");			JCheckBox1.setText("Display This Node");			add(JCheckBox1);			JCheckBox1.setBounds(36,96,123,21);			JCheckBox2.setNextFocusableComponent(JCheckBox3);			JCheckBox2.setSelected(true);			JCheckBox2.setToolTipText("This should be checked if you want this node to be fit onto the screen");			JCheckBox2.setText("Fit To Screen");			add(JCheckBox2);			JCheckBox2.setBounds(36,120,123,21);			JCheckBox3.setNextFocusableComponent(JTextField3);			JCheckBox3.setSelected(true);			JCheckBox3.setToolTipText("This should be checked if you want the number of the node to be drawn on the screen");			JCheckBox3.setText("Display Node Number");			add(JCheckBox3);			JCheckBox3.setBounds(36,144,123,21);			JButton1.setToolTipText("Click this button to see the image that is typed above");			JButton1.setText("Preview");			add(JButton1);			JButton1.setBounds(168,108,84,27);			JPanel1.setLayout(null);			add(JPanel1);			JPanel1.setBounds(36,165,153,126);			//}}			//{{REGISTER_LISTENERS			SymAction lSymAction = new SymAction();			JButton1.addActionListener(lSymAction);			//}}		}		//{{DECLARE_CONTROLS		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.JCheckBox JCheckBox1 = new javax.swing.JCheckBox();		javax.swing.JCheckBox JCheckBox2 = new javax.swing.JCheckBox();		javax.swing.JCheckBox JCheckBox3 = new javax.swing.JCheckBox();		javax.swing.JButton JButton1 = new javax.swing.JButton();		javax.swing.JPanel JPanel1 = new javax.swing.JPanel();		//}}		public void ApplyChanges()		{			nodeInfo.SetImageWidth(Double.parseDouble(JTextField1.getText()));			nodeInfo.SetImageHeight(Double.parseDouble(JTextField2.getText()));			nodeInfo.SetDisplayThisNode(JCheckBox1.isSelected());			nodeInfo.SetFitOnScreen(JCheckBox2.isSelected());			nodeInfo.SetDisplayNodeNumber(JCheckBox3.isSelected());			nodeInfo.SetImageHelper(new ImageIcon(JTextField3.getText(),JTextField3.getText()));			nodeInfo.SetImage(nodeInfo.GetImageHelper().getImage());		}		public void InitializeDisplayValues()		{			JTextField3.setText(nodeInfo.GetImageHelper().getDescription());			JTextField1.setText(String.valueOf(nodeInfo.GetImageWidth()));			JTextField2.setText(String.valueOf(nodeInfo.GetImageHeight()));			JCheckBox1.setSelected(nodeInfo.GetDisplayThisNode());			JCheckBox2.setSelected(nodeInfo.GetFitOnScreen());			JCheckBox3.setSelected(nodeInfo.GetDisplayNodeNumber());		}		class SymAction implements java.awt.event.ActionListener		{			public void actionPerformed(java.awt.event.ActionEvent event)			{				Object object = event.getSource();				if (object == JButton1)					JButton1_actionPerformed(event);			}		}		void JButton1_actionPerformed(java.awt.event.ActionEvent event)		{			// to do: code goes here.				 			JButton1_actionPerformed_Interaction1(event);		}		void JButton1_actionPerformed_Interaction1(java.awt.event.ActionEvent event)		{			try {			ImageIcon imageIcon = new ImageIcon(JTextField3.getText());			Image tempImage = imageIcon.getImage();			Graphics g = this.getGraphics();			Dimension d = JPanel1.getSize();			int width = (int)(MainClass.mainFrame.GetGraphDisplayPanel().GetXScale()*Double.parseDouble(JTextField1.getText()));			int height = (int)(MainClass.mainFrame.GetGraphDisplayPanel().GetYScale()*Double.parseDouble(JTextField2.getText()));			g.drawImage(tempImage, 36,144, width, height, null);			} catch (java.lang.Exception e) {			}		}	}              //PROPRIETARY NODE INFO DISPLAY PANEL	        //*********************************************************	        //*********************************************************	        //*********************************************************	          //***********************************************************************	          //***********************************************************************	          //Class DisplayPropertiesPanel	          //This panel will be shown in a dialog when the users clicks the right menu	public static class DisplayPropertiesPanel extends ActivePanel	{				public DisplayPropertiesPanel()		{			tabTitle = "Display Properties";			modal=true;			//{{INIT_CONTROLS			setLayout(null);//			Insets ins = getInsets();		setSize(280,114);		JLabel1.setToolTipText("This is the number of times the screen will be magnified");		JLabel1.setText("ZoomX:");		add(JLabel1);		JLabel1.setBounds(24,12,48,24);		JComboBox1.setEditable(true);		JComboBox1.setToolTipText("This is the number of times the screen will be magnified");		JComboBox1.addItem(new Double(1.0));		JComboBox1.addItem(new Double(1.5));		JComboBox1.addItem(new Double(2.0));		JComboBox1.addItem(new Double(2.5));		JComboBox1.addItem(new Double(3.0));		add(JComboBox1);		JComboBox1.setBounds(144,12,108,24);		JLabel2.setToolTipText("Times are listed in milliseconds");		JLabel2.setText("Screen Refresh Rate:");		add(JLabel2);		JLabel2.setBounds(24,48,132,24);		JLabel4.setText("msec");		add(JLabel4);		JLabel4.setFont(new Font("Dialog", Font.BOLD, 9));		JLabel4.setBounds(204,48,24,24);		JSlider1.setMinimum(100);		JSlider1.setMaximum(10000);		JSlider1.setToolTipText("Slide this to change the refresh rate");		JSlider1.setValue(1500);		add(JSlider1);		JSlider1.setBounds(60,84,216,21);		JLabel3.setText("jlabel");		add(JLabel3);		JLabel3.setFont(new Font("Dialog", Font.BOLD, 16));		JLabel3.setBounds(156,48,51,27);		JComboBox1.setSelectedIndex(0);		//}}		//{{REGISTER_LISTENERS		SymChange lSymChange = new SymChange();		JSlider1.addChangeListener(lSymChange);		SymAction lSymAction = new SymAction();		//}}	}	//{{DECLARE_CONTROLS	javax.swing.JLabel JLabel1 = new javax.swing.JLabel();	javax.swing.JComboBox JComboBox1 = new javax.swing.JComboBox();	javax.swing.JLabel JLabel2 = new javax.swing.JLabel();	javax.swing.JLabel JLabel4 = new javax.swing.JLabel();	javax.swing.JSlider JSlider1 = new javax.swing.JSlider();	javax.swing.JLabel JLabel3 = new javax.swing.JLabel();	//}}		public void ApplyChanges()		{            MainClass.displayManager.MultiplyGraphDisplayPanelSize( Double.parseDouble(JComboBox1.getSelectedItem().toString()));			MainClass.displayManager.SetRefreshRate(JSlider1.getValue());		}				public void InitializeDisplayValues()		{            double factor = MainClass.displayManager.GetScaleFactor();            JComboBox1.setSelectedItem(new Double(factor));			JSlider1.setValue((int)MainClass.displayManager.GetRefreshRate());			JLabel3.setText(String.valueOf(MainClass.displayManager.GetRefreshRate()));		}		class SymChange implements javax.swing.event.ChangeListener		{			public void stateChanged(javax.swing.event.ChangeEvent event)			{				Object object = event.getSource();				if (object == JSlider1)					JSlider1_stateChanged(event);			}		}		void JSlider1_stateChanged(javax.swing.event.ChangeEvent event)		{			// to do: code goes here.				 			JSlider1_stateChanged_Interaction1(event);		}		class SymAction implements java.awt.event.ActionListener		{			public void actionPerformed(java.awt.event.ActionEvent event)			{			}		}		void JSlider1_stateChanged_Interaction1(javax.swing.event.ChangeEvent event)		{			try {				// convert int->class java.lang.String				JLabel3.setText(java.lang.String.valueOf(JSlider1.getValue()));			} catch (java.lang.Exception e) {			}		}	}	public void stopDisplayThread()	{		stopped = true;	}}

⌨️ 快捷键说明

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