/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- MachineItem
- getImage
- getLabel
- getIP
- getHost
- setHost
- getParent
- getRootFrame
- getParentFrame
- addTarget
- getTarget
- getTargetSize
- onMousePressed
- postMailAction
- postPacketAction
- postEventAction
package jp.ac.nime.computer;
import java.awt.*;
import java.util.*;
import javax.swing.*;
import jp.ac.nime.computer.websim.HTTPPacketData;
/**
* 各マシンオブジェクト基幹クラス
*
* @version 1.00 2003/03/31
* @author Toshikazu Matsumoto Avion Corp.
*/
public abstract class MachineItem
{
public final static int ON_TEXTAREA_DIALOG_CLOSED = 1;
public final static int ON_BROWSER_DIALOG_CLOSED = 2;
private Frame m_Root=null; //親フレームクラス
private Component m_Parent=null; //親コンポーネントクラス
private Image m_imSrc=null; //表示画像
private String m_sLabel; //表示テキスト
private String m_sIP; //IPアドレス
private String m_sHost; //ホスト名
public int m_nPosX=0; //表示X座標
public int m_nPosY=0; //表示Y座標
private Vector m_vcTarget=null; //接続マシンオブジェクト列
/**
* クラスコンストラクタ
* @param parent 親コンポーネントクラス
* @param sLabel 表示テキストラベル
* @param sIP IPアドレス
* @param imSrc 表示画像
* @param nX 表示X座標
* @param nY 表示Y座標
*/
public MachineItem(Component parent,String sLabel,String sIP,Image imSrc,int nX,int nY)
{
this.m_Parent=parent;
this.m_imSrc=imSrc;
this.m_sLabel=sLabel;
this.m_sIP=sIP;
this.m_nPosX=nX;
this.m_nPosY=nY;
this.m_Root=this.getParentFrame(this.m_Parent);
this.m_vcTarget=new Vector();
}
/**
* 画像の取得
* @return 取得した画像
*/
public Image getImage()
{
return this.m_imSrc;
}
/**
* 表示テキストラベルの取得
* @return 取得したテキストラベル
*/
public String getLabel()
{
return this.m_sLabel;
}
/**
* IPアドレスの取得
* @return 取得したIPアドレス
*/
public String getIP()
{
return this.m_sIP;
}
/**
* ホスト名の取得
* @return 取得したホスト名
*/
public String getHost()
{
return this.m_sHost;
}
/**
* ホスト名のセット
* @param s セットするホスト名
*/
public void setHost(String s)
{
this.m_sHost=s;
}
/**
* 親コンポーネントの取得
* @return 取得したコンポーネントクラス
*/
public Component getParent()
{
return this.m_Parent;
}
/**
* 親フレームクラスの取得
* @return 取得したフレームクラス
*/
public Frame getRootFrame()
{
return this.m_Root;
}
/**
* 親フレームの抽出
* @param comp 抽出する元コンポーネントクラス
*/
private Frame getParentFrame(Component comp)
{
Component current=(Component)comp;
while(current!=null)
{
if(current instanceof Frame) return (Frame)current;
current=current.getParent();
}
return null;
}
/**
* 接続マシンの追加
* @param item 追加するマシンオブジェクト
*/
public void addTarget(MachineItem item)
{
this.m_vcTarget.addElement(item);
}
/**
* 接続されているマシンを取得
* @param i マシンの番号
* @return 取得したマシンオブジェクトクラス
*/
public MachineItem getTarget(int i)
{
return (MachineItem)this.m_vcTarget.elementAt(i);
}
/**
* 接続されているマシンの数を取得
* @return 接続されているマシンの数
*/
public int getTargetSize()
{
return this.m_vcTarget.size();
}
public abstract boolean onMousePressed();
public abstract void postMailAction(MailDataObject obj);
public abstract void postPacketAction(HTTPPacketData obj);
public abstract void postEventAction(int nEvent);
}