File Viewer, Part 6
We’ve now got the tools needed to put
a graphical user interface onto the
FileViewer
application we’ve been
developing. The back end doesn’t need to change at all.
It’s still based on the same filter streams we’ve used
for the last several chapters. However, instead of reading filenames
from the command line, we can get them from a file chooser. Instead
of dumping the files on System.out
, we can display
them in a text area. And instead of relying on the user remembering a
lot of confusing command-line switches, we can provide simple radio
buttons for the user to choose from. This has the added advantage of
making it easy to repeatedly interpret the same file according to
different filters.
Figure 13.6 shows the finished application. This
will give you some idea of what the code is aiming at. Initially, I
started with a pencil-and-paper sketch, but I’ll spare you my
inartistic renderings. The single JFrame
window is
organized with a border layout. The west panel contains various
controls for determining how the data is interpreted. The east panel
contains the JFileChooser
used to select the file.
Notice that the Approve button has been customized to say “View
File” rather than “Open”. Ideally, I’d like
to make the Cancel button say “Quit” instead, but the
JFileChooser
class doesn’t allow you to do that without using resource bundles, a subject I would prefer to leave for another book. The south panel contains a scroll pane. Inside the scroll pane is a streamed ...
Get Java I/O now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.