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

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

?? mobileagentgui.java

?? JADE(JAVA Agent開發框架)是一個完全由JAVA語言開發的軟件,它簡化了多Agent系統的實現。
?? JAVA
字號:
/*****************************************************************
JADE - Java Agent DEvelopment Framework is a framework to develop 
multi-agent systems in compliance with the FIPA specifications.
Copyright (C) 2000 CSELT S.p.A. 

GNU Lesser General Public License

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation, 
version 2.1 of the License. 

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA  02111-1307, USA.
*****************************************************************/



package examples.mobile;


// Import required Java classes 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.*;

import java.util.*;
import java.io.*;

import jade.core.*;
import jade.domain.mobility.*;
import jade.gui.GuiEvent;

/**
 * This is the GUI of the MobileAGent. Becuase in Java a new Thread is spawn
 * for each GUI, the communication with the Agent thread is based on
 * event passing.
 */
public class MobileAgentGui extends JFrame implements ActionListener
{
  private MobileAgent          myAgent;
  private LocationTableModel visitedSiteListModel;
  private JTable            visitedSiteList;
  private LocationTableModel availableSiteListModel;
  private JTable            availableSiteList;
  private JTextField counterText; 

  private static String MOVELABEL = "MOVE";
  private static String CLONELABEL = "CLONE";
  private static String EXITLABEL = "EXIT";
  private static String PAUSELABEL = "Stop Counter";
  private static String CONTINUELABEL = "Continue Counter";
  private static String REFRESHLABEL = "Refresh Locations";


	// Constructor
	MobileAgentGui(MobileAgent a)
	{
		super();
		myAgent = a;
		setTitle("GUI of "+a.getLocalName());
		setSize(505,405);

		////////////////////////////////
		// Set GUI window layout manager
	
		JPanel main = new JPanel();
		main.setLayout(new BoxLayout(main,BoxLayout.Y_AXIS));

		JPanel counterPanel = new JPanel();
		counterPanel.setLayout(new BoxLayout(counterPanel, BoxLayout.X_AXIS));
		
		JButton pauseButton = new JButton("STOP COUNTER");
		pauseButton.addActionListener(this);
		JButton continueButton = new JButton("CONTINUE COUNTER");
		continueButton.addActionListener(this);
		JLabel counterLabel = new JLabel("Counter value: ");
		counterText = new JTextField();
		counterPanel.add(pauseButton);
		counterPanel.add(continueButton);
		counterPanel.add(counterLabel);
		counterPanel.add(counterText);
		
		main.add(counterPanel);
		
	   ///////////////////////////////////////////////////
		// Add the list of available sites to the NORTH part 
		availableSiteListModel = new LocationTableModel();
		availableSiteList = new JTable(availableSiteListModel);
		availableSiteList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

		JPanel availablePanel = new JPanel();
		availablePanel.setLayout(new BorderLayout());

		JScrollPane avPane = new JScrollPane();
		avPane.getViewport().setView(availableSiteList);
		availablePanel.add(avPane, BorderLayout.CENTER);
		availablePanel.setBorder(BorderFactory.createTitledBorder("Available Locations"));
	  availableSiteList.setRowHeight(20);

		main.add(availablePanel);
		
		TableColumn c;
		c = availableSiteList.getColumn((Object) availableSiteList.getColumnName(0));
		c.setHeaderValue((Object) (new String("ID")));
		c = availableSiteList.getColumn((Object) availableSiteList.getColumnName(1));
		c.setHeaderValue((Object) (new String("Name")));
		c = availableSiteList.getColumn((Object) availableSiteList.getColumnName(2));
		c.setHeaderValue((Object) (new String("Protocol")));
		c = availableSiteList.getColumn((Object) availableSiteList.getColumnName(3));
		c.setHeaderValue((Object) (new String("Address")));

		///////////////////////////////////////////////////
		// Add the list of visited sites to the CENTER part 
		JPanel visitedPanel = new JPanel();
		visitedPanel.setLayout(new BorderLayout());
		visitedSiteListModel = new LocationTableModel();
		visitedSiteList = new JTable(visitedSiteListModel);
		JScrollPane pane = new JScrollPane();
		pane.getViewport().setView(visitedSiteList);
	  visitedPanel.add(pane,BorderLayout.CENTER);
		visitedPanel.setBorder(BorderFactory.createTitledBorder("Visited Locations"));
	  visitedSiteList.setRowHeight(20);

		main.add(visitedPanel);

			// Column names
	
		c = visitedSiteList.getColumn((Object) visitedSiteList.getColumnName(0));
		c.setHeaderValue((Object) (new String("ID")));
		c = visitedSiteList.getColumn((Object) visitedSiteList.getColumnName(1));
		c.setHeaderValue((Object) (new String("Name")));
		c = visitedSiteList.getColumn((Object) visitedSiteList.getColumnName(2));
		c.setHeaderValue((Object) (new String("Protocol")));
		c = visitedSiteList.getColumn((Object) visitedSiteList.getColumnName(3));
		c.setHeaderValue((Object) (new String("Address")));

	
		/////////////////////////////////////////////////////////////////////
		// Add the control buttons to the SOUTH part 
		// Move button
		JPanel p = new JPanel();
		JButton b = new JButton(REFRESHLABEL);
		b.addActionListener(this);
		p.add(b);
		b = new JButton(MOVELABEL);
		b.addActionListener(this);
		p.add(b);
		b = new JButton(CLONELABEL);
		b.addActionListener(this);
		p.add(b);
		// Exit button
		b = new JButton(EXITLABEL);
		b.addActionListener(this);
		p.add(b);
		main.add(p);
		
		getContentPane().add(main, BorderLayout.CENTER);
	}

  void displayCounter(int value){
    counterText.setText(Integer.toString(value));
    //counterText.fireActionPerformed();
  }

  public void updateLocations(Iterator list) {
    availableSiteListModel.clear();
    for ( ; list.hasNext(); ) {
    	Object obj = list.next();
      availableSiteListModel.add((Location) obj);
    }
    availableSiteListModel.fireTableDataChanged();
  }

	public void actionPerformed(ActionEvent e)
	{
		String command = e.getActionCommand();

		// MOVE
		if      (command.equalsIgnoreCase(MOVELABEL)) {
		  Location dest;
		  int sel = availableSiteList.getSelectedRow();
		  if (sel >= 0)
		    dest = availableSiteListModel.getElementAt(sel);
		  else
		    dest = availableSiteListModel.getElementAt(0);
              
		  GuiEvent ev = new GuiEvent((Object) this,myAgent.MOVE_EVENT);
		  ev.addParameter(dest);
      myAgent.postGuiEvent(ev);	 
		}
		// CLONE
		else if      (command.equalsIgnoreCase(CLONELABEL)) {
		  Location dest;
		  int sel = availableSiteList.getSelectedRow();
		  if (sel >= 0)
		    dest = availableSiteListModel.getElementAt(sel);
		  else
		    dest = availableSiteListModel.getElementAt(0);
		  GuiEvent ev = new GuiEvent((Object) this, myAgent.CLONE_EVENT);
		  ev.addParameter(dest);
      myAgent.postGuiEvent(ev);

		}
		// EXIT
		else if (command.equalsIgnoreCase(EXITLABEL)) {
      GuiEvent ev = new GuiEvent(null,myAgent.EXIT);
			myAgent.postGuiEvent(ev);
		}
		else if (command.equalsIgnoreCase(PAUSELABEL)) {
      GuiEvent ev = new GuiEvent(null,myAgent.STOP_EVENT);
		  myAgent.postGuiEvent(ev);
		}
		else if (command.equalsIgnoreCase(CONTINUELABEL)) {
		     GuiEvent ev = new GuiEvent(null,myAgent.CONTINUE_EVENT);
		     myAgent.postGuiEvent(ev);
		}
		else if (command.equalsIgnoreCase(REFRESHLABEL)) {
		     GuiEvent ev = new GuiEvent(null,myAgent.REFRESH_EVENT); 
         myAgent.postGuiEvent(ev);
		}
	}
	
	void showCorrect()
	{
		///////////////////////////////////////////
		// Arrange and display GUI window correctly
		pack();
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		int centerX = (int)screenSize.getWidth() / 2;
		int centerY = (int)screenSize.getHeight() / 2;
		setLocation(centerX - getWidth() / 2, centerY - getHeight() / 2);
		show();
	}
	
	public void addVisitedSite(Location site)
	{
		visitedSiteListModel.add(site);
		visitedSiteListModel.fireTableDataChanged();

	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩高清在线不卡| 91福利视频在线| 中文字幕五月欧美| 91香蕉视频mp4| 亚洲大型综合色站| 亚洲欧美一区二区久久| 91福利精品视频| 天天av天天翘天天综合网色鬼国产| 在线成人高清不卡| 久久99在线观看| 中文字幕不卡一区| 91久久精品一区二区三区| 亚洲国产日韩在线一区模特| 日韩色在线观看| 国产成人av一区二区三区在线| 国产精品成人免费在线| 欧洲一区二区三区在线| 乱一区二区av| 中文字幕av一区二区三区免费看| 91网站在线观看视频| 午夜久久久影院| 精品国产在天天线2019| www.欧美精品一二区| 午夜一区二区三区视频| 精品日本一线二线三线不卡| 成人网在线播放| 亚洲3atv精品一区二区三区| 久久久精品免费免费| 色婷婷久久综合| 九色综合国产一区二区三区| 日韩理论在线观看| 在线综合视频播放| 高清日韩电视剧大全免费| 亚洲成人7777| 国产欧美日韩在线视频| 欧美视频一区二| 国产精品456| 亚洲 欧美综合在线网络| 久久精品在这里| 精品视频一区二区不卡| 国产成人综合亚洲91猫咪| 亚洲成a人在线观看| 国产欧美日韩卡一| 欧美日韩成人综合在线一区二区| 国产伦精一区二区三区| 亚洲一区影音先锋| 久久久精品天堂| 欧美日韩久久一区| 成人av动漫网站| 青娱乐精品在线视频| 国产精品动漫网站| 精品久久国产字幕高潮| 欧美性猛交xxxx乱大交退制版| 国产美女在线精品| 视频一区二区中文字幕| 777午夜精品免费视频| 9i在线看片成人免费| 奇米四色…亚洲| 一区二区三区在线观看欧美| 久久综合久久鬼色中文字| 欧美视频你懂的| av亚洲精华国产精华精| 久久99九九99精品| 亚洲成人免费电影| 成人免费一区二区三区视频| 久久久久久久久伊人| 51精品久久久久久久蜜臀| 色一情一乱一乱一91av| 国产精品一区在线| 免费观看日韩av| 亚洲韩国精品一区| 成人欧美一区二区三区白人| 2021中文字幕一区亚洲| 欧美精品一卡二卡| 91久久国产最好的精华液| 成人午夜av影视| 国产一区二区三区免费观看| 免费成人在线观看| 丝袜诱惑亚洲看片| 一区二区三区在线免费播放 | 日本韩国欧美三级| 国产91露脸合集magnet| 久久国产精品无码网站| 亚洲国产综合色| 一区二区三区产品免费精品久久75| 中文字幕第一区二区| 精品国产污污免费网站入口| 日韩亚洲电影在线| 欧美日韩国产美| 欧美色图在线观看| 欧美亚洲禁片免费| 色综合天天天天做夜夜夜夜做| 高清在线成人网| 国产成人小视频| 粉嫩蜜臀av国产精品网站| 国产精品综合二区| 国产综合久久久久影院| 麻豆精品国产传媒mv男同| 日韩高清不卡在线| 五月天一区二区三区| 亚洲成人av一区二区三区| 亚洲丰满少妇videoshd| 亚洲影院久久精品| 亚洲一区日韩精品中文字幕| 亚洲综合在线免费观看| 亚洲在线观看免费| 亚洲成人第一页| 图片区小说区区亚洲影院| 丝袜诱惑亚洲看片| 免费成人深夜小野草| 久久91精品久久久久久秒播| 精品一区二区三区久久久| 狠狠色丁香久久婷婷综合丁香| 极品少妇xxxx偷拍精品少妇| 国产资源精品在线观看| 国产91在线|亚洲| jlzzjlzz亚洲女人18| 一本久久综合亚洲鲁鲁五月天| 色综合久久久久网| 欧美日韩国产高清一区二区三区| 欧美日韩国产在线播放网站| 欧美高清性hdvideosex| 日韩精品一区国产麻豆| 国产亚洲欧美在线| 国产精品剧情在线亚洲| 一区二区三区丝袜| 午夜欧美在线一二页| 美国精品在线观看| 国产成人综合网站| 一本一道久久a久久精品| 欧美三级蜜桃2在线观看| 91精品国产综合久久福利软件| 欧美电影免费观看完整版| 久久久国产精品午夜一区ai换脸| 亚洲欧洲av在线| 亚洲一二三四区不卡| 另类成人小视频在线| 成人少妇影院yyyy| 在线观看成人小视频| 日韩一级免费观看| 中文字幕av在线一区二区三区| 亚洲狠狠丁香婷婷综合久久久| 日本视频免费一区| 国精产品一区一区三区mba视频| 国产99精品在线观看| 欧洲在线/亚洲| 欧美va在线播放| 中文字幕不卡在线观看| 亚洲国产三级在线| 精品综合免费视频观看| 不卡视频免费播放| 欧美性猛交xxxxxx富婆| 精品蜜桃在线看| 日韩码欧中文字| 免费av网站大全久久| 成人99免费视频| 欧美日韩精品专区| 久久久国产精品麻豆| 夜夜亚洲天天久久| 国产自产视频一区二区三区| 91视频国产资源| 日韩亚洲欧美在线观看| 国产精品九色蝌蚪自拍| 日韩av高清在线观看| 成人午夜看片网址| 欧美日本高清视频在线观看| 国产日产欧美一区二区三区| 一区二区不卡在线播放 | 国产九九视频一区二区三区| 91网站最新地址| 精品乱人伦一区二区三区| 亚洲免费观看高清完整版在线观看 | 亚洲永久精品大片| 国产一二精品视频| 欧美日韩亚洲综合在线 | 开心九九激情九九欧美日韩精美视频电影 | 亚洲成人一区二区| 国产精品一区二区久久精品爱涩| 欧美在线一二三| 国产欧美1区2区3区| 天天亚洲美女在线视频| 99久久精品免费精品国产| 日韩欧美美女一区二区三区| 亚洲激情中文1区| 高清beeg欧美| 欧美一级片在线观看| 亚洲在线免费播放| 成人性生交大片免费看视频在线| 日韩一级在线观看| 一区二区三区不卡在线观看| 丁香天五香天堂综合| 欧美一级二级三级乱码| 一区二区三区免费看视频| 国产精品1区2区| 日韩精品一区在线| 香蕉加勒比综合久久| 99精品欧美一区二区蜜桃免费| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲国产精品久久人人爱蜜臀 | 综合在线观看色|