2012-03-07 154 views
0

我有这两个类是一个较大的项目的一部分,但由于某种奇怪的原因,当我运行main()时浏览器不会显示HTML文件。浏览器不会显示HTML文件

这里有两类:

主营:

import java.awt.BorderLayout; 
import java.awt.Component; 

import javax.swing.JFrame; 
import javax.swing.SwingUtilities; 

public class main { 

    public static void main(String[] args) { 
     BrowserFrame browser = new BrowserFrame(); 

     JFrame mainFrame = new JFrame(); 
     Thread browserThread = new Thread(); 

     mainFrame.getContentPane().add(browser); 
     mainFrame.setSize(550,550); 
     mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     browserThread.start(); 
     browser.setVisible(true); 
     mainFrame.setVisible(true); 
    } 
} 

BrowserFrame

import java.awt.BorderLayout; 
import java.io.IOException; 
import java.net.MalformedURLException; 
import java.net.URL; 

import javax.swing.JEditorPane; 
import javax.swing.JScrollPane; 
import javax.swing.SwingUtilities; 
import javax.swing.text.html.HTMLEditorKit; 
import javax.swing.text.html.StyleSheet; 

public class BrowserFrame extends javax.swing.JPanel { 

    public void BrowserFrame() { 

     SwingUtilities.invokeLater(new Runnable() 
     { 
      public void run() 
      { 
      URL url = null; 
      try { 
       url = new URL("file:///C:/PersonalWorkSpace/PrivateEyes/html/test.html"); 
      } catch (MalformedURLException e) { 
       e.printStackTrace(); 
      } 
      JEditorPane jEditorPane = new JEditorPane(); 
      jEditorPane.setEditable(false); 

      JScrollPane jScrollPane = new JScrollPane(jEditorPane); 

      HTMLEditorKit kit = new HTMLEditorKit(); 
      jEditorPane.setEditorKit(kit); 

      StyleSheet styleSheet = kit.getStyleSheet(); 
      styleSheet.addRule("body {color:#000; font-family:times; margin: 4px;}"); 
      styleSheet.addRule("h1 {color: blue;}"); 
      styleSheet.addRule("h2 {color: #ff0000;}"); 

      setLayout(new BorderLayout()); 
      add(jEditorPane); 


      try { 
       jEditorPane.setPage(url); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
      jEditorPane.setVisible(true); 
      jScrollPane.setVisible(true); 
      System.out.println("Browser Window Run"); 
      } 
     }); 
    } 
} 

我的一些代码可能会遇到一个小飘忽/古怪,但那是因为我是尝试一些东西,剩下一些残余物。

在此先感谢。

回答

4

删除BrowserFrame()前面的void。它被认为是一种方法而不是构造函数。

+0

天啊!想想我花了这么多时间来补充点儿东西,而且这是我习惯性添加的一个词。定时器耗尽后会接受你的答案。 – RyanSoper 2012-03-07 13:34:58

+0

我讨厌这种情况发生时,但我通常会在过程中发现一些会导致头痛的错误=) – aglassman 2012-03-07 15:52:34