2014-01-28 2 views
0

JEditorPane는, 윈도우 내의 직사각형의 안쪽에있어, 전체 윈도우를 전부는 묻지 않습니다. 그러나 HTML 페이지가 너무 커지면 스크롤 막대를 넣는 대신 잘라내서 잘라냅니다. JScrollpane이나 다른 것이 필요하다는 것을 알고 있습니다. 그러나 전체 창에서 스크롤바를 원할 필요는 없습니다. 여기 JEditorPane의 직사각형 내의 스크롤 바

은 (rweb 이미 사각형으로 정의된다) 내 코드의 조각입니다 :

 JEditorPane web = new JEditorPane(); 
     web.setEditable(false); 
     try { 
     web.setPage("http://www.google.com"); 
    }catch (IOException e) { 
     web.setContentType("text/html"); 
     web.setText("<html>Could not load webpage</html>"); 
    } 
    web.addHyperlinkListener(new HyperlinkListener() { 
     public void hyperlinkUpdate(HyperlinkEvent e) { 
      if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { 
       if(Desktop.isDesktopSupported()) { 
        try { 
         Desktop.getDesktop().browse(e.getURL().toURI()); 
        } catch (IOException e1) { 
         // TODO Auto-generated catch block 
         e1.printStackTrace(); 
        } catch (URISyntaxException e1) { 
         // TODO Auto-generated catch block 
         e1.printStackTrace(); 
        } 
       } 
      } 
     } 
    }); 
    rweb = new Rectangle(0, 0, width, 600); 
    web.setBorder(null); 
    web.setBounds(rweb); 
    window.add(web); 

답변

5

당신은 JScrollPaneJEditorPane를 추가하지 않습니다. 텍스트 컴퍼넌트는 독자적으로 스크롤을 서포트하지 않습니다.

대신

은 자세한 내용

에 대한 How to use scroll panes를 살펴 보자 window.add(new JScrollPane(web));를 사용해보십시오

당신이 null 레이아웃을 사용하는 경우 PS- web.setBounds(rweb); 만 작동하고 있다면, 당신은을 사용하여 더 나은 것 또는 인세 트 지정 기능을 제공하는 레이아웃 관리자 (예 : GridBagLayout

)