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

📄 displaymanager.java

📁 无线通信的主要编程软件,是无线通信工作人员的必备工具,关天相关教程我会在后续传上.
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
	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.surge.Dialog.ActivePanel    {	NodeInfo nodeInfo;	public ProprietaryNodeInfoPanel(NodeInfo pNodeInfo)	{	    tabTitle = "Display";	    nodeInfo = pNodeInfo;	    //{{INIT_CONTROLS	    setLayout(null);	    Insets ins = getInsets();	    setSize(500,500);	    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 + -