亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? helloagentimpl.java

?? 精通RMI 這是RMI的入門基礎 特別對剛開始學RMI的同胞們很有幫助
?? JAVA
字號:
/*
 * Copyright 1999 by dreamBean Software,
 * All rights reserved.
 */
package masteringrmi.agent.agents;

import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.beans.beancontext.BeanContextChild;
import java.beans.beancontext.BeanContextChildSupport;
import java.beans.beancontext.BeanContextProxy;
import java.io.IOException;
import java.net.InetAddress;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.server.RemoteObject;

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;

/**
 *   <description> 
 *      
 *   @see <related>
 *   @author Rickard 謆erg
 *   @version $Revision:$
 */
public class HelloAgentImpl
   extends BeanContextChildSupport
   implements HelloAgent, Runnable
{
   // Constants -----------------------------------------------------
    
   // Attributes ----------------------------------------------------
   String localhost;
   boolean running = true;
   Thread runner;
   
   int runCounter = 0;
   int queryCounter = 0;
   
   // Static --------------------------------------------------------
   
   // Constructors --------------------------------------------------
   
   // Public --------------------------------------------------------
   
   // HelloAgent implementation -------------------------------------
   public synchronized String hello(String name)
   {
      queryCounter++;
      return "Hello " + name + "! I'm an agent running at "+localhost+".";
   }
   
   public java.awt.Component getComponent()
      throws RemoteException
   {
      return new HelloViewer(this);
   }
   
   public String getName()
   {
      return "Hello Agent";
   }
   
   public synchronized int getQueryCounter()
   {
      return queryCounter;
   }
      
   public synchronized int getRunCounter()
   {
      return runCounter;
   }
      
   // Runnable implementation ---------------------------------------
   public void run()
   {
      while (isRunning())
      {      
         // Do some dummy code
         System.out.println("Date is now " + new java.util.Date());
         runCounter++;
         
         // Wait for awhile
         try { Thread.sleep(5000); } catch (InterruptedException e) {}
      }
      
      // The agent was removed
      System.out.println("Ok, I'm done");
   }
      
   // Package protected ---------------------------------------------
    
   // Protected -----------------------------------------------------
   synchronized protected void initializeBeanContextResources()
   {
      // Start the execution thread
      running = true;
      runner = new Thread(this);
      runner.start();
      
      // Get the name of this host
      try
      {
         localhost = InetAddress.getLocalHost().toString();
      } catch (Exception e)
      {
         localhost = "some nice agenthost";
      }
   }
   
   synchronized protected void releaseBeanContextResources()
   {
      // Stop the execution thread
      running = false;
      runner.interrupt();
      runner = null;
   }
   
   synchronized protected boolean isRunning()
   {
      return running;
   }
   
   synchronized void increaseRunCounter()
   {
      runCounter++;
   }
   
   // Private -------------------------------------------------------

   // Inner classes -------------------------------------------------
   static class HelloViewer
      extends JPanel
      implements Runnable, ActionListener
   {   
      JLabel info = new JLabel("", JLabel.CENTER);
      JButton helloButton = new JButton("Say hello");
      
      HelloAgent agent;
      boolean running;
   
      HelloViewer(HelloAgent agent)
      {
         super(new BorderLayout());
      
         this.agent = agent;
      
         add("Center", info);
         add("South", helloButton);
      }
      
      public synchronized void addNotify()
      {
         super.addNotify();
         
         // Start agent query thread
         running = true;
         new Thread(this).start();
         
         // Add action listener to button
         helloButton.addActionListener(this);
      }
      
      public synchronized void removeNotify()
      {
         super.removeNotify();

         // Stop agent query thread
         running = false;
         
         // Remove action listener from button
         helloButton.removeActionListener(this);
      }
      
      public void run()
      {
         while (isRunning())
         {
            // Get info from agent
            try
            {
               info.setText("Hello Agent. Run:"+agent.getRunCounter()+" Query:"+agent.getQueryCounter());
            } catch (RemoteException e)
            {
               e.printStackTrace();
               info.setText("ERROR: Could not access agent");
            }
            
            // Wait some time
            try
            {
               Thread.sleep(5000); // Sleep 5 seconds
            } catch (InterruptedException e)
            {
               // Ignore
            }
         }
      }
      
      public void actionPerformed(ActionEvent evt)
      {
         String name = JOptionPane.showInputDialog(SwingUtilities.getRoot(HelloViewer.this), "What is your name?");
      
         try
         {
            String greeting = HelloViewer.this.agent.hello(name);
            JOptionPane.showMessageDialog(SwingUtilities.getRoot(HelloViewer.this), "HelloAgent says:\""+greeting+"\"", "HelloAgent says", JOptionPane.PLAIN_MESSAGE); 
         } catch (RemoteException e)
         {
            e.printStackTrace();
            JOptionPane.showMessageDialog(SwingUtilities.getRoot(HelloViewer.this), "Could not contact agent:"+e.getMessage(), "HelloAgent error", JOptionPane.ERROR_MESSAGE); 
         }
      }
      
      synchronized protected boolean isRunning()
      {
         return running;
      }
   }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品少妇一区二区三区免费观看| 自拍偷在线精品自拍偷无码专区| 久久伊人中文字幕| 中文字幕视频一区二区三区久| 亚洲午夜久久久久中文字幕久| 极品尤物av久久免费看| 色综合av在线| 久久久一区二区| 亚洲第一福利一区| av在线一区二区三区| 3d动漫精品啪啪| 亚洲私人影院在线观看| 激情图区综合网| 欧美最新大片在线看| 国产欧美一区二区三区在线看蜜臀| 亚洲一区中文日韩| 成人精品电影在线观看| 欧美一级一区二区| 亚洲第一会所有码转帖| aaa欧美日韩| 国产女同性恋一区二区| 美日韩一区二区| 在线播放亚洲一区| 亚洲天堂av一区| 国产91对白在线观看九色| 欧美一二三区精品| 亚洲成人一区在线| 欧洲视频一区二区| 亚洲免费在线视频| 97久久超碰国产精品| 日本一区二区三区免费乱视频| 五月婷婷欧美视频| 91久久精品国产91性色tv| 国产精品免费久久| 波多野结衣中文字幕一区 | 狠狠色丁香婷婷综合| 欧美日韩精品免费观看视频| 亚洲欧美日韩一区二区三区在线观看 | 激情成人午夜视频| 日韩三级精品电影久久久| 无码av中文一区二区三区桃花岛| 91免费视频大全| 国产清纯白嫩初高生在线观看91| 国产九色精品成人porny | 亚洲高清免费观看| 色哟哟精品一区| 亚洲主播在线播放| 欧美三区免费完整视频在线观看| 亚洲激情校园春色| 欧美日韩亚洲综合在线| 亚洲第一久久影院| 欧美肥妇free| 美女任你摸久久| 777xxx欧美| 精品一区二区三区久久| 国产人成一区二区三区影院| 成人精品一区二区三区中文字幕| 国产精品久久久久久久第一福利| 风间由美一区二区三区在线观看 | 91精品国产色综合久久ai换脸| 日韩高清国产一区在线| 欧美二区在线观看| 国产真实乱子伦精品视频| 久久精品一区二区三区四区| 成人午夜在线播放| 亚洲一区二区综合| 日韩欧美视频在线| 粉嫩av亚洲一区二区图片| 中文字幕五月欧美| 欧美日韩成人在线一区| 久久精品免费观看| 国产精品人成在线观看免费| 色综合网色综合| 麻豆视频观看网址久久| 国产精品视频九色porn| 欧美中文字幕亚洲一区二区va在线 | 欧美视频自拍偷拍| 国产在线精品国自产拍免费| 最新热久久免费视频| 欧美日本视频在线| 国产成人精品免费网站| 一区二区成人在线视频| 精品国产自在久精品国产| 波多野结衣亚洲| 免费成人你懂的| 亚洲欧洲av另类| 日韩三级中文字幕| 99免费精品在线| 久久国产成人午夜av影院| 尤物视频一区二区| 国产视频视频一区| 欧美一个色资源| 91精彩视频在线| 国产91丝袜在线播放九色| 婷婷开心激情综合| 亚洲丝袜自拍清纯另类| 精品1区2区在线观看| 欧美色精品在线视频| 99久久精品99国产精品| 精品一区二区久久| 石原莉奈一区二区三区在线观看| 亚洲欧洲日韩综合一区二区| 精品日产卡一卡二卡麻豆| 欧美在线制服丝袜| 99国产精品久久久久久久久久久| 精品一区二区三区的国产在线播放 | 日韩av一区二| 一区二区免费视频| 亚洲色图20p| 中文字幕成人网| 久久夜色精品一区| 日韩一区二区在线观看视频播放| 日韩一二三四区| 色八戒一区二区三区| 成人aaaa免费全部观看| 国产成人亚洲综合色影视| 久久国内精品自在自线400部| 亚洲成a人v欧美综合天堂| 一区二区三区在线视频免费观看| 中文字幕在线不卡一区| 国产精品国产成人国产三级| 国产亚洲精品资源在线26u| 精品国产91久久久久久久妲己| 欧美一区二区高清| 欧美一级一级性生活免费录像| 4438成人网| 日韩亚洲欧美成人一区| 日韩欧美高清一区| 精品剧情在线观看| xvideos.蜜桃一区二区| 久久久久国产一区二区三区四区| 精品国产乱码久久久久久图片| 精品国产伦一区二区三区观看方式| 日韩欧美视频一区| 久久久国产一区二区三区四区小说 | 极品少妇xxxx精品少妇偷拍| 国内国产精品久久| 国产精品一线二线三线精华| 国产福利精品导航| 成人99免费视频| 在线日韩av片| 91精品国产高清一区二区三区| 日韩一区二区不卡| 国产欧美一区视频| 国产精品国模大尺度视频| 亚洲私人影院在线观看| 亚洲mv大片欧洲mv大片精品| 免费一级欧美片在线观看| 韩国在线一区二区| www.欧美精品一二区| 在线免费精品视频| 日韩色视频在线观看| 国产精品欧美一区二区三区| 亚洲裸体在线观看| 麻豆国产一区二区| 成人丝袜18视频在线观看| 欧美性大战xxxxx久久久| 日韩亚洲欧美一区二区三区| 国产精品三级久久久久三级| 亚洲一线二线三线视频| 国产一区二区影院| 在线观看国产91| 一区二区三区中文字幕在线观看| 亚洲成人av福利| 国产91精品一区二区| 欧美久久久久久久久久| 欧美激情综合在线| 天天操天天综合网| 不卡一二三区首页| 欧美成人三级电影在线| 日韩一区中文字幕| 国产自产2019最新不卡| 在线观看三级视频欧美| 2017欧美狠狠色| 午夜精品久久久久久久99樱桃 | 日韩欧美国产麻豆| 亚洲黄网站在线观看| 国产乱妇无码大片在线观看| 欧美日韩一区二区三区在线| 中日韩av电影| 久久精品国产秦先生| 欧美午夜片在线观看| 国产精品福利一区二区| 久草这里只有精品视频| 欧美理论片在线| 一区二区三区在线播放| 国产成人午夜精品影院观看视频 | 国产午夜精品一区二区三区嫩草 | 日本韩国欧美在线| 中文子幕无线码一区tr| 久久99久久久欧美国产| 在线观看91精品国产麻豆| 亚洲欧美另类久久久精品| 国产传媒一区在线| 欧美www视频| 日韩精品国产精品| 欧美另类一区二区三区| 亚洲午夜免费电影| 欧美色综合久久| 亚洲图片欧美视频|