/*
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2005 satoshi akabane(akabane@logical-paradox.org)
 * $Id: NodeInfoPanel.java,v 1.3 2005/03/18 13:55:26 rampil Exp $
 */
package org.logical_paradox.testsite.oln.view;

import java.awt.Graphics;
import java.awt.GridLayout;

import javax.swing.JLabel;
import javax.swing.JPanel;

import org.logical_paradox.testsite.oln.object.AppContext;

/**
 * ノード情報パネル
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.3 $
 */
public class NodeInfoPanel extends JPanel {
	/** ノード情報を掲載するパネル */
	private JLabel label_;
	/** アプリケーションコンテキスト */
	private AppContext appContext_;

	/**
	 * コンストラクタ
	 * @param appContext アプリケーションコンテキスト
	 */
	public NodeInfoPanel(AppContext appContext) {
		appContext_ = appContext;
		init();
	}
	/**
	 * ノード情報パネルを初期化する
	 */
	protected void init() {
		label_ = new JLabel();
		setLayout(new GridLayout(1,1));
		add(label_);
	}
	/**
	 * ノード情報を表示する
	 */
	protected void paint() {
		getLabel().setText(getAppContext().getTopology().toString());
	}
	/**
	 * ラベルコンポーネントを返す
	 * @return ラベルコンポーネント
	 */
	protected JLabel getLabel() {
		return label_;
	}
	/**
	 * アプリケーションコンテキストを返す
	 * @return アプリケーションコンテキスト
	 */
	protected AppContext getAppContext() {
		return appContext_;
	}
	/**
	 * パネルを描画する
	 * @param g 描画先のグラフィックコンポーネント
	 */
	public void paint(Graphics g) {
		paint();
		super.paint(g);
	}

}
