/**
*
*/
package de.danielsenff.badds.view.GUI;
import java.awt.image.BufferedImage;
import javax.swing.JScrollPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.event.AncestorEvent;
import javax.swing.event.AncestorListener;
import ddsutil.ImageOperations;
import de.danielsenff.badds.actions.ActionClose;
import de.danielsenff.badds.controller.Application;
import de.danielsenff.badds.view.canvas.BICanvas;
import de.danielsenff.badds.view.canvas.ScrollCanvasListener;
/**
* @author danielsenff
*
*/
public class PreviewFrame extends JCFrame{
/**
* @param filename
*
*/
public PreviewFrame(final Application controller, String filename, BufferedImage bi) {
super(controller);
setLocationByPlatform(true);
setSize(400, 400);
addKeyListener(new ActionClose(controller, this));
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (ClassNotFoundException e) {
} catch (InstantiationException e) {
} catch (IllegalAccessException e) {
} catch (UnsupportedLookAndFeelException e) {
}
setResizable(true);
setTitle(bundle.getString("Preview") + " - " + filename);
setName(bundle.getString("Preview") + " - " + filename);
final BICanvas canvas = new BICanvas(controller, bi, ImageOperations.ChannelMode.RGB);
final JScrollPane scrollViewPane = new JScrollPane(canvas);
final ScrollCanvasListener scrollCanvasListener = new ScrollCanvasListener(scrollViewPane);
canvas.addMouseMotionListener(scrollCanvasListener);
// canvas.addMouseWheelListener(scrollCanvasListener);
canvas.addAncestorListener(new AncestorListener() {
@Override
public void ancestorAdded(AncestorEvent arg0) { }
@Override
public void ancestorMoved(AncestorEvent arg0) {
scrollViewPane.repaint();
}
@Override
public void ancestorRemoved(AncestorEvent arg0) { }
});
this.getContentPane().add(scrollViewPane);
}
/**
*
*/
public void close() {
this.dispose();
}
}