snmpPollerDemo.java
上传用户:aonuowh
上传日期:2021-05-23
资源大小:35390k
文件大小:3k
源码类别:

SNMP编程

开发平台:

C/C++

  1. /*
  2.     $Id: snmpPollerDemo.src,v 1.4 2002/09/09 05:35:19 tonyjpaul Exp $
  3. */
  4. /*
  5.  * @(#)snmpPollerDemo.java
  6.  * Copyright (c) 1996-2002 AdventNet, Inc. All Rights Reserved.
  7.  * Please read the COPYRIGHTS file for more details.
  8.  */
  9. /** 
  10.  *  An example of using the SnmpPoller object in your code.
  11.  *  This is an applet example.  
  12.  *  Please refer snmpPollerDemo.html for parameters.
  13.  **/
  14. import java.awt.*;
  15. import java.awt.event.ActionListener;
  16. import java.awt.event.ActionEvent;
  17. import java.applet.Applet;
  18. import com.adventnet.snmp.beans.*;
  19. import com.adventnet.snmp.ui.*;
  20. import javax.swing.*; 
  21. public class snmpPollerDemo extends Applet implements ActionListener {
  22.     // Some AWT widgets we'll use
  23.     Label l1;
  24.     Button b1;
  25.     JTextField t1;
  26.  SnmpPoller poller; // The SNMP poller instance we'll use
  27.     PropertySettings prop;
  28.     /** The init method is first called for applets.  **/
  29.     public void init() {
  30.     try {
  31.         UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName());
  32.         } catch (Exception e) {
  33.             System.err.println("Couldn't use the system look and feel: "+ e);
  34.         }
  35.     prop = new PropertySettings(this);
  36.         l1 = new Label ( getParameter("OID") );
  37.         b1 = new Button();
  38.         b1.setLabel("Stop Polling");
  39.         t1 = new JTextField("The data from the agent is shown here");
  40.         //Listen for actions on button
  41.         b1.addActionListener(this);
  42.         //Add Components using the default FlowLayout. 
  43.         
  44.         add(prop);
  45.         add(l1);
  46.         add(t1);
  47.         add(b1);
  48.     }
  49.     /** The start method is called when page with applet is visited.  **/
  50.     public void start() {
  51.       try {  // setup the poller object as desired - use applet parameters
  52.         poller = new SnmpPoller(this);
  53.  prop.addVetoableChangeListener(poller);
  54.         // load MIB to allow us to use names
  55.         showStatus("Loading MIBs...");  // show something on the status bar
  56.         poller.loadMibs( getParameter("MIBS") );  
  57.         showStatus("Loading MIBs done.");
  58.         poller.setTargetHost( getParameter("HOSTNAME"));        
  59.         poller.setCommunity( getParameter("COMMUNITY") );
  60.         poller.setObjectID( getParameter("OID") );
  61.         
  62.     } catch (Exception ex) {
  63.         System.err.println("Error in starting applet: "+ex+":"+ex.getMessage());
  64.     }
  65.       
  66.     // We need to add a listener to listen for responses
  67.     ResultAdapter listener = new ResultAdapter() {
  68.       // This method will be invoked when the response is received
  69.         public void setResult( ResultEvent e ) {
  70.         try { 
  71.             t1.setText(e.getStringValue());
  72.         } catch (DataException de) {
  73.             t1.setText("Error in getting agent data: "+de +
  74.                        e.getErrorString());
  75.         }
  76.         }
  77.     };
  78.     poller.addResultListener(listener);  // listen for response events
  79.     }  
  80.     /** This method is called when the button is clicked **/
  81.     public void actionPerformed(ActionEvent e) {
  82.         
  83.       if (poller.getPollingStatus()) {  // if polling is going on, stop it
  84.          poller.stopPolling();
  85.         b1.setLabel("Start Polling");
  86.       } else { // else restart it
  87.         poller.restartPolling();
  88.         b1.setLabel("Stop Polling");
  89.     } 
  90.     }
  91.     
  92. }