ViewApp.java

This is a modifed version of SwingTester that can be called from a separate program.

The app can be called from a JMenuItem action listener as follows.

       viewItem.addActionListener(actionEvent ->  {
	ViewApp.createWindow("help.html");
	})


ViewApp.java

import java.awt.*;
import java.awt.Dimension;
import java.io.IOException;
import java.net.URL;

import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

public class ViewApp {
   static JFrame frame;
   public static void main(String[] args) {
      String filename = args.length>0? args[0]: "help.html";
      createWindow(filename);
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }

   public static void createWindow(String filename) {    
      frame = new JFrame("View Help");
      createUI(filename);
      frame.setSize(560, 450);      
      frame.setLocationRelativeTo(null);
      frame.pack();  
      frame.setVisible(true);
   }

   private static void createUI(String filename){  
 
      JEditorPane area = new JEditorPane();
      area.setEditable(false);   
      URL url= ViewApp.class.getResource(filename);

      try {   
         area.setPage(url);
      } catch (IOException e) { 
        area.setContentType("text/html");
         area.setText("<html>Page not found.</html>");
      }

      JScrollPane spanel = new JScrollPane(area);
      spanel.setPreferredSize(new Dimension(540,400));      
      frame.add(spanel);    
   }  
} 


Maintained by John Loomis, updated Sat Apr 25 09:20:17 2020