Slide Show Image Viewer

Slide Show

So, what does it do? It lets you load and look at a sequence of image files, JPG, GIF, or PNG format (sorry, that's it), either in a window or in full-screen mode. You can navigate the list while in full screen mode or while the image window has focus using the arrow keys. The escape key will take you out of full screen mode, and if the image window is the active window the escape key will put you into full screen mode.

Primarily this project came out of curiosity about Swing (the name for the windowing toolkit provided by Java). I had a similar program that was getting old enough that it wasn't able to read many modern JPGs. I decided I could write one just as well as find one for download. It only took me a couple weeks of very limited commitment to get this far, which surprised the hell out of me--I thought it would have taken longer..

Right now ss is in "alpha" stage, if that has any real meaning since it's just a hobby project. Basically the set of features I have implemented are the absolute minimum set that comprise a working application with some utility. Some features that I plan to include in the future are:

  • More decoupled design
  • Option to scale the image down to fit the screen
  • Ability to save a configuration and recall it later
  • Better UI layout and look (I want icons, dammit!)
Installing

Sad for you, there's really no easy way to install this right now.

The following instructions are for Windows users. I assume that if you're running some UNIX variant you'll be savvy enough to translate them. Also, note that this has only been tested on Win98, Win2k, and Mac OS 10.3.

  • Download and install the Java Runtime Environment (JRE) version 1.4 or greater from Sun Microsystems. Note 1
  • Download the binary distribution, which comes packaged as a Java ARchive (JAR) file. (sources also available).
  • On many systems you will be able to double click on the JAR file and the program will run. If this double clicking does not work for you, then select Start > Run and type in java -jar c:\tmp\ss.jar replacing the C:\tmp\ drectory with whatever path you used when you saved the JAR. Note 2

Note 1: Earlier versions of the JRE will not work. The JRE provides you with an interpreter for the language this application is written in and the backing native libraries that allow it to access your video memory directly and paint these images full screen.

Note 2: The java command will open a command window in the background in which any errors that occur will display. If you don't care about errors and don't like the command window, use "javaw" instead of "java" (the w means something about windows).

Sources

And what would this project be without source code? Lame, that's what.

There are two formats available for the source distribution, zipped and gzipped tar ball. You can also just download the binaries in a JAR file if you would like.

Building the source is easy. There are no external library dependencies so javac works just fine: javac -d build `find src -iname "*.java". An Ant build script is also included in the source distro.

The first thing I do with any archive I download is list the contents, so I'll save you the trouble:

Archive:  ss-0.1-src.zip
 Length    Date    Time    Name
 ------    ----    ----    ----
  13511  06-29-105  19:59   ss/src/org/cowfarm/ss/SlideShowConfiguration.java
   3664  03-13-103  21:09   ss/src/org/cowfarm/swing/FileExtensionFilter.java
   6251  12-11-103  18:00   ss/src/org/cowfarm/swing/FileListManager.java
   3195  03-16-103  11:49   ss/src/org/cowfarm/swing/FloatField.java
   2157  03-14-103  21:40   ss/src/org/cowfarm/swing/ImagePanel.java
   2827  03-16-103  09:57   ss/src/org/cowfarm/swing/IntegerField.java
    450  03-16-103  12:13   ss/src/org/cowfarm/util/TimerListener.java
   2972  12-11-103  18:01   ss/src/org/cowfarm/util/TimerThread.java
    600  06-29-105  19:55   ss/build.xml
    114  06-29-105  19:56   ss/etc/MANIFEST.MF
     65  06-29-105  19:58   ss/run.sh
 ------                    -------
  35806                    11 files