/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- QueueStatusDialog
- makeLayout
- 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 QueueStatusDialog extends JDialog implements ActionListener
{
private Frame m_Root; //親フレームクラス
private Image m_imMail; //メール画像
private boolean m_bStop=false; //スレッドの停止フラグ
private JButton m_btStop; //停止ボタン
private JButton m_btRing; //リングバッファボタン
private QueueStatusCanvas m_Canvas=null; //メール状態表示描画クラス
/**
* クラスコンストラクタ
* @param root 親フレーム
* @param applet メインアプレットクラス
* @param item 呼び出し元サーバーオブジェクトクラス
* @param imMail メール画像
*/
public QueueStatusDialog(Frame root,MailSim applet,MailServItem item,Image imMail)
{
super(root,"キュー");
this.m_Root=root;
this.m_imMail=imMail;
this.m_btStop=new JButton("一時停止");
this.m_btRing=new JButton("リングバッファ");
this.m_Canvas=new QueueStatusCanvas(root,applet,item,imMail);
this.m_btStop.addActionListener(this);
this.m_btRing.addActionListener(this);
this.setSize(400,300);
this.makeLayout();
Toolkit tool=Toolkit.getDefaultToolkit();
Dimension d=tool.getScreenSize();
this.setLocation(new Point((d.width-this.getSize().width)/2,(d.height-this.getSize().height)/2));
}
/**
* レイアウトの構築
*/
private void makeLayout()
{
Panel pButton=new Panel();
pButton.setLayout(new FlowLayout(FlowLayout.CENTER));
pButton.add(this.m_btStop);
pButton.add(this.m_btRing);
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add("Center",this.m_Canvas);
this.getContentPane().add("South",pButton);
}
/**
* 各ボタン押下時のアクション
*/
public void actionPerformed(ActionEvent evt)
{
//一時停止ボタン押下時
if(evt.getSource()==this.m_btStop)
{
if(!this.m_bStop)
{
this.m_btStop.setText("再開");
this.m_Canvas.suspendThread();
this.m_bStop=true;
}
else
{
this.m_btStop.setText("一時停止");
this.m_Canvas.resumeThread();
this.m_bStop=false;
}
}
//リングバッファボタン押下時
else if(evt.getSource()==this.m_btRing)
{
new RingBufDialog(this.m_Root,this.m_imMail);
}
}
}