root/www.mail/JavaPopWeb/src/jp/ac/nime/computer/mailsim/MailServDialog.java

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. MailServDialog
  2. makeLayout
  3. actionPerformed

package jp.ac.nime.computer.mailsim;

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;

/**
 * MAILシミュレータ メールサーバダイアログ
 * 
 * @version 1.00 2003/03/31
 * @author Toshikazu Matsumoto Avion Corp.
 */
public class MailServDialog extends JDialog implements ActionListener
{
        private Frame   m_Root;                 //ルートフレーム
        private MailSim m_Applet;               //メインアプレット
        private MailServItem m_Item;    //親アイテム
        private Vector  m_vcQueue;              //キュー
        private Vector  m_vcSpool;              //スプール
        private Image   m_imSrc;                //サーバー画像
        private Image   m_imMail;               //メール画像
        private String  m_sIP;                  //IPアドレス
        
        private JButton m_btQueue;              //キューボタン
        private JButton m_btSpool;              //スプールボタン
        
        private QueueStatusDialog m_QueueDialog;        //キューの状態を表示するダイアログ
        private SpoolStatusDialog m_SpoolDialog;        //スプールの状態を表示するダイアログ

        /**
         * クラスコンストラクタ
         * @param root JDialogクラスに渡す親フレーム
         * @param applet MailSimクラスポインタ
         * @param item ダイアログを表示する元MailServItem
         * @param imSrc サーバー画像
         * @param imMail メール画像
         * @param sIP IPアドレス文字列
         * @param vcQueue 送出するキュー
         * @param vcSpool サーバーに貯まっているスプール
         */
        public MailServDialog(Frame root,MailSim applet,MailServItem item,Image imSrc,Image imMail,String sIP,Vector vcQueue,Vector vcSpool)
        {
                super(root,"メールサーバー");
                this.m_Root=root;
                this.m_Applet=applet;
                this.m_Item=item;
                this.m_imSrc=imSrc;
                this.m_imMail=imMail;
                this.m_sIP=sIP;
                this.m_vcQueue=vcQueue;
                this.m_vcSpool=vcSpool;
                
                this.m_QueueDialog=new QueueStatusDialog(this.m_Root,this.m_Applet,this.m_Item,this.m_imMail);
                this.m_SpoolDialog=new SpoolStatusDialog(this.m_Root,this.m_Applet,this.m_Item);
                
                this.m_btQueue=new JButton("キュー");
                this.m_btSpool=new JButton("スプール");
                this.m_btQueue.addActionListener(this);
                this.m_btSpool.addActionListener(this);
                
                this.makeLayout();
                
                this.pack();

                Toolkit tool=Toolkit.getDefaultToolkit();
                Dimension d=tool.getScreenSize();
                this.setLocation(new Point((d.width-this.getSize().width)/2,(d.height-this.getSize().height)/2));
                //this.show();
        }
        /**
         * ダイアログのレイアウト
         */
        private void makeLayout()
        {
                Panel pMain=new Panel();
                pMain.setLayout(new FlowLayout(FlowLayout.CENTER));
                pMain.add(new JLabel(this.m_Item.getHost()+"("+this.m_sIP+")",new ImageIcon(this.m_imSrc),SwingConstants.CENTER));
                
                Panel pButton=new Panel();
                pButton.setLayout(new FlowLayout(FlowLayout.CENTER));
                pButton.add(this.m_btQueue);
                pButton.add(this.m_btSpool);
                
                this.getContentPane().setLayout(new BorderLayout());
                this.getContentPane().add("Center",pMain);
                this.getContentPane().add("South",pButton);
        }
        /**
         * 各ボタン押下時のアクション
         * @param evt ActionEvent
         */
        public void actionPerformed(ActionEvent evt)
        {
                if(evt.getSource()==this.m_btQueue)
                {
                        this.m_QueueDialog.show();
                }
                else if(evt.getSource().equals(this.m_btSpool))
                {
                        this.m_SpoolDialog.show();
                }
        }
        
}

/* [<][>][^][v][top][bottom][index][help] */