diff --git a/source/org/thdl/util/HTMLPane.java b/source/org/thdl/util/HTMLPane.java
new file mode 100644
index 0000000..bfd9051
--- /dev/null
+++ b/source/org/thdl/util/HTMLPane.java
@@ -0,0 +1,61 @@
+/*
+The contents of this file are subject to the THDL Open Community License
+Version 1.0 (the "License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License on the THDL web site
+(http://www.thdl.org/).
+
+Software distributed under the License is distributed on an "AS IS" basis,
+WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+License for the specific terms governing rights and limitations under the
+License.
+
+The Initial Developer of this software is the Tibetan and Himalayan Digital
+Library (THDL). Portions created by the THDL are Copyright 2002-2003 THDL.
+All Rights Reserved.
+
+Contributor(s): ______________________________________.
+*/
+
+package org.thdl.util;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import javax.swing.JScrollPane;
+import javax.swing.JEditorPane;
+
+/** An HTMLPane is a JScrollPane displaying the contents of an HTML
+ * file. DLC FIXME: at present, neither internal nor external
+ * hyperlinks work.
+ *
+ * @author David Chandler
+ */
+public class HTMLPane extends JScrollPane {
+ /** Creates a JScrollPane displaying the contents of the HTML file
+ * named htmlFileName (which should be a resource packaged in
+ * this application's JAR file).
+ *
+ * @throws FileNotFoundException if the resource could not be found.
+ * @param resourceHolder the class associated with the named resource
+ * @param htmlFileName the name of the resource that is the HTML file */
+ public HTMLPane(Class resourceHolder, String htmlFileName)
+ throws FileNotFoundException
+ {
+ super();
+ InputStream in = resourceHolder.getResourceAsStream(htmlFileName);
+ if (in == null) {
+ throw new FileNotFoundException(htmlFileName);
+ }
+ JEditorPane pane = new JEditorPane();
+ pane.setContentType("text/html");
+ try {
+ pane.read(in, "our input stream");
+ } catch (IOException e) {
+ pane.setText("Error reading HTML file from JAR.\nPlease submit a bug report if this issue has not yet\nbeen resolved in the latest version.");
+ ThdlDebug.noteIffyCode();
+ }
+ pane.setEditable(false);
+
+ setViewportView(pane);
+ }
+}