/**
 * Copyright (C) 2006-2007  NTT DATA CORPORATION
 * 
 * Version: 1.0.0 2007/04/01
 *  
 */
package net.cellcomputing.himawari.display;

import java.awt.BorderLayout;
import java.awt.image.BufferedImage;

import javax.swing.JFrame;
import javax.swing.JScrollPane;

/**
 * @author NTT DATA Corporation
 * レンダリングした画像を画面に出すためのWindowクラス。
 * initを呼ぶことで初期化され、表示される。
 * 
 */
public strictfp class FrameBuffer extends JFrame {
	
	private static final long serialVersionUID = 4166688929934248172L;
	
	/**
	 * 表示する画像を持つPanel
	 */
	FrameBufferPanel panel;
	
	/**
	 * コンストラクタ
	 * 引数で受け取ったImageを元にFrameBufferPanelを作成し、
	 * 登録をする。
	 * 
	 * @param image
	 * @param title Window名
	 */
	public FrameBuffer(BufferedImage image,String title){
		setTitle(title);
		panel = new FrameBufferPanel(image);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		JScrollPane scroll = new JScrollPane(panel,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

		getContentPane().add(scroll,BorderLayout.CENTER);
	}
	
	/**
	 * レイアウトを行い表示する
	 */
	public void init(){
		pack();
		setVisible(true);	
	}
}
