diff options
| author | Antonin Descampe <antonin@gmail.com> | 2011-04-14 18:37:47 +0000 |
|---|---|---|
| committer | Antonin Descampe <antonin@gmail.com> | 2011-04-14 18:37:47 +0000 |
| commit | 31dba0b4e9be32a5d8e0052e2bf16e7eb4e02534 (patch) | |
| tree | 6b96d57592b72707b0003bbac6537619bb9ec931 /applications/jpip/opj_client/opj_viewer/src/ImageWindow.java | |
| parent | 27b894dd3fd6d67dacf6c263587d789d96172116 (diff) | |
initial commit of OpenJPIP 1.0, a JPIP client-server architecture based on OpenJPEG (see README file in jpip directory for more details)
Diffstat (limited to 'applications/jpip/opj_client/opj_viewer/src/ImageWindow.java')
| -rw-r--r-- | applications/jpip/opj_client/opj_viewer/src/ImageWindow.java | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/applications/jpip/opj_client/opj_viewer/src/ImageWindow.java b/applications/jpip/opj_client/opj_viewer/src/ImageWindow.java new file mode 100644 index 00000000..dd12eee2 --- /dev/null +++ b/applications/jpip/opj_client/opj_viewer/src/ImageWindow.java @@ -0,0 +1,93 @@ +/* + * $Id$ + * + * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium + * Copyright (c) 2002-2011, Professor Benoit Macq + * Copyright (c) 2010-2011, Kaori Hagihara + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +import javax.swing.*; +import java.awt.event.*; +import java.awt.*; + +public class ImageWindow extends JFrame +{ + private ImageViewer imgviewer; + private OptionPanel optpanel; + private ImageManager imgmanager; + + public ImageWindow( String uri, String j2kfilename) + { + super( j2kfilename); + + imgmanager = new ImageManager( uri); + + imgviewer = new ImageViewer( j2kfilename, imgmanager); + imgviewer.setOpaque(true); //content panes must be opaque + + optpanel = new OptionPanel( imgmanager, imgviewer); + + JPanel panel = new JPanel(); + panel.setLayout(new BorderLayout()); + panel.add( imgviewer, BorderLayout.CENTER); + panel.add( optpanel, BorderLayout.EAST); + + setContentPane( panel); + + addWindowListener(new WindowMyAdapter()); + } + + class WindowMyAdapter extends WindowAdapter + { + public void windowClosing(WindowEvent arg) + { + imgmanager.closeChannel(); + System.exit(0); + } + } + + public static void main(String s[]) + { + String j2kfilename, uri; + + if(s.length > 0){ + uri = s[0]; + j2kfilename = s[1]; + } + else{ + System.out.println("Usage: java -jar opj_viewer.jar HTTP_server_URI imagefile.jp2"); + return; + } + ImageWindow frame = new ImageWindow( uri, j2kfilename); + + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + //Display the window. + frame.pack(); + frame.setSize(new Dimension(400,200)); + frame.setLocation( 0, 50); + frame.setVisible(true); + } +}
\ No newline at end of file |
