Displaying HTML in Swing

html, java, swing

Solution

I was trying to access the file wrong.

Correct code:

import java.io.*;
import java.net.*;
import java.util.regex.*;
import javax.swing.*;


public class webloader {
    static JComponent page;
    public static void loadcode(){
        JEditorPane jep = new JEditorPane();
         jep.setEditable(false);   

         try {
           jep.setPage("http://(server):(port)/" + web.url);
         }
         catch (IOException e) {
           jep.setContentType("text/html");
           jep.setText("<html>Could not load webpage</html>");
         } 

         JScrollPane scrollPane = new JScrollPane(jep);     
         JFrame f = new JFrame(web.url);
         f.getContentPane().add(scrollPane);
         f.setSize(512, 342);
         f.show();
    }
}

Problem

I am working on a project of sorts to load HTML files from a server and display them in swing. ``` import java.io.*; import java.net.*; import java.util.regex.*; import javax.swing.*; public class webloader { public static void loadcode(){ URL url = null; try { url = new URL("web"+File.separator+web.url+File.separator+"index.html"); } catch (MalformedURLException e) { e.printStackTrace(); } URLConnection con = null; try { con = url.openConnection(); } catch (IOException e) { e.printStackTrace(); } Pattern p = Pattern.compile("text/html;\\s+charset=([^\\s]+)\\s*"); Matcher m = p.matcher(con.getContentType()); String charset = m.matches() ? m.group(1) : "ISO-8859-1"; Reader r = null; try { r = new InputStreamReader(con.getInputStream(), charset); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } StringBuilder buf = new StringBuilder(); while (true) { int ch = 0; try { ch = r.read(); } catch (IOException e) { e.printStackTrace(); } if (ch < 0) break; buf.append((char) ch); } String str = buf.toString(); JFrame mainframe = new JFrame(web.url); mainframe.setSize(800, 750); mainframe.setResizable(false); JPanel website = new JPanel(); JLabel webcontent = new JLabel(str); website.add(webcontent); mainframe.add(website); mainframe.setVisible(true); } } ``` Error: ``` Loading test.com Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation roblem: Syntax error on token ""web"", delete this token at webloader.loadcode(webloader.java:11) at web$1.actionPerformed(web.java:46) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sou ce) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$200(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sou ce) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sou ce) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sou ce) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) ``` I am quite new to Java, so if I seem to be stupid or not know what I am doing, that's because I am.

Original source