2012-03-05 1 views
2

저는 최근에 작은 프로젝트에서 일해 왔으며 혼란스럽고 거대한 정신적 블록을 쳤습니다. 나는이 너무 많이 나 짜증나는 이유 인 간단해야 알아,하지만 제목에서 알 수 있듯이 나는 3 종류가 있습니다스윙과 WebEditorKit - SwingFrame에서 내 브라우저보기

주 -이 다른 클래스의 인스턴스를, 단지 정말 생성자이 포함되어 있어야합니다

import java.awt.BorderLayout; 
import java.awt.Component; 
import javax.swing.JFrame; 

public class main { 

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

     JFrame mainFrame = new JFrame(); 

     mainFrame.setSize(550,550); 
     mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     //Total Guesswork on the next line! Result of a mental block! 
     //mainFrame.add(browser); 
    } 
} 

BrowserFrame - 여기가 실제 HTML 뷰어를 만들었습니다.

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 { 

    public 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;}"); 

      try { 
       jEditorPane.setPage(url); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
      } 
     }); 
    } 
} 

그리고 지금까지의 아무 상관이 마지막으로 도구 모음,

, 결국 내가 그것을 코딩있어 일단 JFrame의 상단에 표시 할 도구 모음이 포함됩니다.

내가 BrowserFrame을 구성 요소로 만들 필요가 있다는 것을 알았지 만, 내 삶을 살아갈 수는 없다. 어떻게하는지, 웹에서 검색하는 리소스는 모두 다른 예제 코드에 적용되므로 끝납니다. 나 혼란스러워!

내가 원하는 것은 응용 프로그램을 실행하면 내 HTML 문서를 표시하는 창이 나타나고 창 상단에도 메뉴가 있지만 그다지 얻을 수 없다는 것입니다. 순간에 표시 할 브라우저 (:()) 내 마음이 진실로 진흙탕에서 수영하고 있다고 생각하면 어떤 도움이라도 대단히 감사하겠습니다.

답변

2

브라우저 프레임에서 javax.swing을 확장 할 수 있습니다. JPanel의는 다음

mainFrame.getContentPane().add(new BrowserFrame()); 

BrowserFrame의 생성자 내부

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

SwingUtilities.invokeLater을 사용하여 JFrame을 만들고 기본 방법으로 표시하십시오.

+0

해당 댓글을 무시하고, 내 자신의 코드를 읽지 않았습니다! – RyanSoper

+0

당신은 절대 영웅이고, 지금 당신 덕분에 그것을 해결했습니다, 나는 단지 브라우저 프레임을 추가하는 방식으로 어리 석고있었습니다. – RyanSoper

관련 문제