/*
 * JAIHelloWorld.java
 *
 * essa classe simplesmente carrega um imagem, e cria um frame para exibi-la.
 */

/**
 *
 * @author  hitoshi
 */

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import javax.media.jai.*;
import javax.swing.*;
import com.sun.media.jai.widget.DisplayJAI;
import java.awt.image.*;
import java.awt.image.renderable.*;

public class JAIHelloWorld {
    public static void main(String[] args) {
        if(args.length <1) {
            System.out.println("Voce precisa fornecer o nome do arquivo com a imagem");
            System.exit(0);
        }
        
        // Frame é a janela da aplicação
        Frame frame = new Frame("JAI Hello World");
        frame.setLayout(new BorderLayout());  // há outros layouts possíveis.
        // consulte a documentação do Swing
        // carrega a imagem de entrada, usando o argumento args[0]
        // se voce precisa de uma imagem, use a classe PlanarImage.
        PlanarImage imageIn = JAI.create("fileload", args[0]);
        
        // DisplayJAI é uma extensão da classe JPanel
        // e serve para exibirmos a imagem
        DisplayJAI imagePanelIn = new DisplayJAI(imageIn);
        
        // vou colocar as imagens em um painel com scroll
        JScrollPane scrollPaneIn = new JScrollPane(imagePanelIn);
        
        scrollPaneIn.setPreferredSize(new Dimension(320, 240));
        // agora vou colocar esse painel com scroll na Frame-janela da app
        frame.add(scrollPaneIn, BorderLayout.WEST);
        
        // apenas certificando que a janela morre ao se clicar no botao x
        frame.addWindowListener(
        new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            };
        });
        
        frame.pack();
        frame.show();
    }
}