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

📄 testncdperfdatabean.java

📁 snmp zip 包开发snmp协议
💻 JAVA
字号:
// NAME//      $RCSfile: testNcdPerfDataBean.java,v $// DESCRIPTION//      [given below in javadoc format]// DELTA//      $Revision: 1.5 $// CREATED//      $Date: 2006/01/30 11:36:57 $// COPYRIGHT//      Westhawk Ltd// TO DO///* * Copyright (C) 1998 - 2006 by Westhawk Ltd * * Permission to use, copy, modify, and distribute this software * for any purpose and without fee is hereby granted, provided * that the above copyright notices appear in all copies and that * both the copyright notice and this permission notice appear in * supporting documentation. * This software is provided "as is" without express or implied * warranty. * author <a href="mailto:snmp@westhawk.co.uk">Tim Panton</a> */ package uk.co.westhawk.examplev1;import java.awt.*; import javax.swing.*;import java.util.*;import java.awt.event.*;import uk.co.westhawk.snmp.beans.*;import uk.co.westhawk.visual.*;import java.beans.*;/** * <p> * The class testNcdPerfDataBean demonstrates the use of some of the beans * in the uk.co.westhawk.snmp.beans packages. It shows a UI in which the * user can configure the bean properties. * </p> * * <p> * When triggering the menu button at the background, a property dialog  * will popup. * The user can configure the host name, the port number, the community * name and the update interval. When the OK or Apply button is pressed * NcdPerfDataBean is activated. Via the PropertyChangeEvent it * will provide the UI with the list of current names. * </p> * * <p> * The "Try it" button in the dialog activates the IsHostReachableBean,  * who will probe * the configured host and signals the UI since when the host was up. * </p> * * <p> * The values of the property dialog can also be configured via  * the properties file.  * The action() method still has to be called, either via java * code, or by pressing the button in the dialog. * </p> * * <p> * The name of the properties file can be passed as first argument to * this application. If there is no such argument, it will look for * <code>testNcdPerfDataBean.properties</code>. If this file does not exist, the * application will use default parameters. * </p> * * <p> * The speed will be shown as a Graph, its values displayed as 10log. * The memory will also be shown as a Graph, but with normal values * displayed. * </p> * * @see uk.co.westhawk.snmp.beans.NcdPerfDataBean * @see uk.co.westhawk.snmp.beans.IsHostReachableBean * @see uk.co.westhawk.visual.Graph * @see propertyDialog * * @author <a href="mailto:snmp@westhawk.co.uk">Birgit Arkesteijn</a> * @version $Revision: 1.5 $ $Date: 2006/01/30 11:36:57 $ */public class testNcdPerfDataBean extends JPanel         implements ActionListener, PropertyChangeListener,        WindowListener, MouseListener{    private static final String     version_id =        "@(#)$Id: testNcdPerfDataBean.java,v 1.5 2006/01/30 11:36:57 birgit Exp $ Copyright Westhawk Ltd";    propertyDialog propDialog;    JFrame myFrame;    int speed;    int memory;    String name;    String message;    GridBagLayout gridBagLayout1;    JLabel label5;    JLabel label6;    JLabel label7;    Graph memGr;    GraphDataSet memData;    Graph speedGr;    GraphDataSet speedData;    JLabel nameLabel;    JLabel messageLabel;    NcdPerfDataBean ncdBean;    private Util      util;/** * Constructor. * * @param propertiesFilename The name of the properties file. Can be * null. */public testNcdPerfDataBean(String propertiesFilename){    //AsnObject.setDebug(15);    util = new Util(propertiesFilename, this.getClass().getName());    speedData = new GraphDataSet();    speedGr = new Graph(speedData);    speedGr.setMax(1000000);    speedGr.setMin(0);    speedGr.setName("Speed");    speedGr.setUnit("(log10 (b/s))");    speedGr.setAxes(true);    speedGr.setLog(true);    memData = new GraphDataSet();    memGr = new Graph(memData);    memGr.setMax(50000);    memGr.setMin(50);    memGr.setName("Memory");    memGr.setUnit("(Kb)");    // memGr.setAxes(false);    // memGr.setFont(new Font("lucida", Font.PLAIN, 8));    nameLabel = new JLabel(" ");    messageLabel = new JLabel(" ");    ncdBean = new NcdPerfDataBean();}//Initialize the applicationpublic void init(){    try    {        createPropertyDialog();        jbInit();    }    catch (Exception e)    {        e.printStackTrace();    }}//Main methodpublic static void main(String[] args){    String propFileName = null;    if (args.length > 0)    {        propFileName = args[0];    }    testNcdPerfDataBean application = new testNcdPerfDataBean(propFileName);    JFrame frame = new JFrame();    frame.setTitle(application.getClass().getName());    frame.getContentPane().add(application, BorderLayout.CENTER);    frame.setBounds(50, 50, 350, 300);    application.init();    frame.pack();    frame.setVisible(true);    frame.addWindowListener(application);}public void actionPerformed(ActionEvent e){    Object src = e.getSource();    if (src == propDialog)    {        propDialog_actionPerformed(e);    }}public void propertyChange(PropertyChangeEvent e){    Object src = e.getSource();    if (src == ncdBean)    {        ncdBean_propertyChange(e);    }}void ncdBean_propertyChange(PropertyChangeEvent e){    String property = e.getPropertyName();        if (property.equals(ncdBean.speedPropertyName))    {        speed = ((Integer) e.getNewValue()).intValue();        speedData.addElement(speed);    }    else if (property.equals(ncdBean.memoryPropertyName))    {        memory = ((Integer) e.getNewValue()).intValue();        memory = (int)(memory/1000);        memData.addElement(memory);    }    else if (property.equals(ncdBean.userPropertyName))    {        name = (String) e.getNewValue();        nameLabel.setText(name);    }    else     {        // ncdBean.messagePropertyName        message = (String) e.getNewValue();        messageLabel.setText(message);    }}void propDialog_actionPerformed(ActionEvent evt){    String cmd = evt.getActionCommand();    if (cmd.equals("Cancel") == false)    {        nameLabel.setText(" ");        messageLabel.setText(" ");        String host = propDialog.getHost();        myFrame.setTitle("NCD " + host);        ncdBean.setHost(host);        ncdBean.setPort(propDialog.getPort());        ncdBean.setBindAddress(propDialog.getBindAddress());        ncdBean.setCommunityName(propDialog.getCommunityName());        ncdBean.setUpdateInterval(propDialog.getUpdateInterval());        ncdBean.action();    }    else    {        //System.exit(0);    }}//Component initializationprivate void jbInit() throws Exception{    gridBagLayout1 = new GridBagLayout();    label5 = new JLabel(" ");    label6 = new JLabel(" ");    label7 = new JLabel(" ");    label5.setText(" Speed ");    label6.setText(" Memory ");    label7.setText(" User name ");    nameLabel.setBackground(Color.white);    messageLabel.setBackground(Color.white);    nameLabel.setOpaque(true);    messageLabel.setOpaque(true);    ncdBean.addPropertyChangeListener(this);    this.addMouseListener(this);    this.setLayout(gridBagLayout1);    this.setBackground(Color.lightGray);    this.add(label5,         getGridBagConstraints2(0, 0,  1, 1,  0.0, 0.0        ,GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL,         new Insets(5, 5, 5, 5), 0, 0));    this.add(label6,         getGridBagConstraints2(0, 1,  1, 1,  0.0, 0.0        ,GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL,         new Insets(5, 5, 5, 5), 0, 0));    this.add(label7,         getGridBagConstraints2(0, 2,  1, 1,  0.0, 0.0        ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL,         new Insets(5, 5, 5, 5), 0, 0));    this.add(messageLabel,         getGridBagConstraints2(0, 3,  2, 1,  0.0, 0.0        ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL,         new Insets(10, 5, 10, 5), 0, 0));    this.add(speedGr,         getGridBagConstraints2(1, 0,  1, 1,  1.0, 0.5        ,GridBagConstraints.EAST, GridBagConstraints.BOTH,         new Insets(5, 5, 5, 5), 0, 0));    this.add(memGr,         getGridBagConstraints2(1, 1,  1, 1,  1.0, 0.5        ,GridBagConstraints.EAST, GridBagConstraints.BOTH,         new Insets(5, 5, 5, 5), 0, 0));    this.add(nameLabel,         getGridBagConstraints2(1, 2,  1, 1,  1.0, 0.0        ,GridBagConstraints.EAST, GridBagConstraints.HORIZONTAL,         new Insets(5, 5, 5, 5), 0, 0));}GridBagConstraints getGridBagConstraints2(        int x, int y, int w, int h, double wx, double wy,        int anchor, int fill,        Insets ins, int ix, int iy){    GridBagConstraints gc = new GridBagConstraints();    gc.gridx = x;    gc.gridy = y;    gc.gridwidth = w;    gc.gridheight = h;    gc.weightx = wx;    gc.weighty = wy;    gc.anchor = anchor;    gc.fill = fill;    gc.insets = ins;    gc.ipadx = ix;    gc.ipady = iy;    return gc;}public void windowActivated(WindowEvent evt){}public void windowDeactivated(WindowEvent evt){}public void windowClosing(WindowEvent evt){    System.exit(0);}public void windowClosed(WindowEvent evt){}public void windowIconified(WindowEvent evt){}public void windowDeiconified(WindowEvent evt){}public void windowOpened(WindowEvent evt){} public void mouseClicked(MouseEvent evt){}public void mouseEntered(MouseEvent evt){}public void mouseExited(MouseEvent evt){}public void mousePressed(MouseEvent evt){    mouseEvt(evt);}public void mouseReleased(MouseEvent evt){    mouseEvt(evt);}public void mouseEvt(MouseEvent evt){    if (evt.isPopupTrigger())    {        propDialog.setVisible(true);        propDialog.toFront();        evt.consume();    }}private void createPropertyDialog(){    myFrame = getFrame(this);    propDialog = new propertyDialog(myFrame);    String host = util.getHost();    String port = util.getPort();    String bindAddr = util.getBindAddress();    String comm = util.getCommunity();    String interv = util.getProperty(Util.INTERVAL);    if (host != null)    {        propDialog.setHost(host);    }    if (port != null)    {        propDialog.setPort(port);    }    if (comm != null)    {        propDialog.setCommunityName(comm);    }    if (bindAddr != null)    {        propDialog.setBindAddress(bindAddr);    }    if (interv != null)    {        propDialog.setUpdateInterval(interv);    }    propDialog.addActionListener(this);    propDialog.pack();}public static JFrame getFrame(Component c){    if(c instanceof JFrame)        return (JFrame)c;     while((c = c.getParent()) != null)    {        if(c instanceof JFrame)            return (JFrame)c;    }    return null;}}

⌨️ 快捷键说明

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