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

📄 testdialogchannelstatusbean.java

📁 snmp zip 包开发snmp协议
💻 JAVA
字号:
// NAME//      $RCSfile: testDialogChannelStatusBean.java,v $// DESCRIPTION//      [given below in javadoc format]// DELTA//      $Revision: 1.6 $// CREATED//      $Date: 2006/02/02 15:49:36 $// 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 uk.co.westhawk.snmp.beans.*;import uk.co.westhawk.visual.*;import uk.co.westhawk.tablelayout.*;import javax.swing.*;import javax.swing.tree.*;import java.awt.*; import java.util.*;import java.awt.event.*;import java.beans.*;/** * <p> * The class testDialogChannelStatusBean 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 * DialogChannelStatusBean is activated.  * </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 UI will show a Swing JTree. The DialogChannelStatusBean will * update the tree. * </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>testDialogChannelStatusBean.properties</code>. If this file does not exist, the * application will use default parameters. * </p> * * @see uk.co.westhawk.snmp.beans.DialogChannelStatusBean * @see uk.co.westhawk.snmp.beans.IsHostReachableBean * @see propertyDialog * * @author <a href="mailto:snmp@westhawk.co.uk">Birgit Arkesteijn</a> * @version $Revision: 1.6 $ $Date: 2006/02/02 15:49:36 $ */public class testDialogChannelStatusBean extends JPanel         implements ActionListener, PropertyChangeListener,        WindowListener, MouseListener{    private static final String     version_id =        "@(#)$Id: testDialogChannelStatusBean.java,v 1.6 2006/02/02 15:49:36 birgit Exp $ Copyright Westhawk Ltd";    propertyDialog propDialog;    JFrame myFrame;    String name;    String message;    GridBagLayout gridBagLayout1;    JLabel label7;    JTree tree;    DialogChannelStatusBean dialogBean;    private Util      util;/** * Constructor. * * @param propertiesFilename The name of the properties file. Can be * null. */public testDialogChannelStatusBean(String propertiesFilename){    //AsnObject.setDebug(15);    util = new Util(propertiesFilename, this.getClass().getName());    dialogBean = new DialogChannelStatusBean();    DefaultTreeSelectionModel gtsm = new DefaultTreeSelectionModel();    DefaultTreeModel gmodel = new DefaultTreeModel((TreeNode)dialogBean, false);    gtsm.setSelectionMode(gtsm.SINGLE_TREE_SELECTION);    tree = new JTree(gmodel);    tree.setRootVisible(false);    tree.setSelectionModel(gtsm);    // This way the bean will update the model by itself,    // no need for a propertyChangeListener    dialogBean.setDefaultTreeModel(gmodel);}//Initialize the applicationpublic void init(){    try    {        createPropertyDialog();        jbInit();    }    catch (Exception exc)    {        exc.printStackTrace();    }}//Main methodpublic static void main(String[] args){    String propFileName = null;    if (args.length > 0)    {        propFileName = args[0];    }    testDialogChannelStatusBean application = new testDialogChannelStatusBean(propFileName);    try    {        javax.swing.UIManager.setLookAndFeel(            javax.swing.UIManager.getSystemLookAndFeelClassName());    }    catch (Exception exc)    {        ;    }    JFrame frame = new JFrame();    frame.setTitle(application.getClass().getName());    frame.getContentPane().add(application, BorderLayout.CENTER);    frame.setBounds(50, 50, 300, 400);    frame.setVisible(true);    frame.addWindowListener(application);    application.init();}public void actionPerformed(ActionEvent evt){    Object src = evt.getSource();    if (src == propDialog)    {        propDialog_actionPerformed(evt);    }}public void propertyChange(PropertyChangeEvent evt){    Object src = evt.getSource();    if (src == dialogBean)    {        dialogBean_propertyChange(evt);    }}void dialogBean_propertyChange(PropertyChangeEvent evt){    Enumeration e = dialogBean.getChannelIndexes();    while (e.hasMoreElements())    {        Integer index = (Integer) e.nextElement();        String status = dialogBean.getChannelStatusString(index);        System.out.println("Channel " + index                 + " has status " + status);    }    System.out.println("\t--");}void propDialog_actionPerformed(ActionEvent evt){    String cmd = evt.getActionCommand();    if (cmd.equals("Cancel") == false)    {        String host = propDialog.getHost();        myFrame.setTitle("Dialogic " + host);        dialogBean.setHost(host);        dialogBean.setPort(propDialog.getPort());        dialogBean.setBindAddress(propDialog.getBindAddress());        dialogBean.setCommunityName(propDialog.getCommunityName());        dialogBean.setUpdateInterval(propDialog.getUpdateInterval());        dialogBean.action();    }}//Component initializationprivate void jbInit() throws Exception{    TableLayout table = new TableLayout();    // The bean and the model should keep each other informed    //dialogBean.addPropertyChangeListener(this);    //this.setBackground(Color.lightGray);    JScrollPane spane = new JScrollPane();    spane.getViewport().add(tree);    this.addMouseListener(this);    tree.addMouseListener(this);    Container cont = this;    cont.setLayout(table);    cont.add("0 0", spane);}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 comm = util.getCommunity();    String bindAddr = util.getBindAddress();    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 + -