728x90
반응형
1. JEditorPane
▷ 다양한 타입의 문서를 보여주거나 편집이 가능한 멀티 라인의 텍스트 컴포넌트
▷ 단순 텍스트, HTML 타입의 문서를 지원
▷ HTML 문서를 표시할 경우 setEditable(false)를 호출해 편집할 수 없도록 하고,
사용자가 링크를 클릭할 경우 HyperlinkListener 등록해 HyperlinkEvent 이벤트를 처리할 수 있음
▷ HyperlinkEvent는 마우스를 링크 위로 가져갔을 경우, 링크 바깥으로 가져갔을 경우, 링크를 클릭했을 경우 모두 발생
◎ HTML을 삽입하는 예제
import java.awt.BorderLayout; import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.SwingUtilities; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; public class JEditorPaneExample extends JFrame { private JEditorPane jEditorPane; // 메인 윈도우 설정 public JEditorPaneExample() { this.setTitle("JEditorPaneExample"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.getContentPane().add(new JScrollPane(getJEditorPane()), BorderLayout.CENTER); this.setSize(400, 300); } // JEditorPane 생성 public JEditorPane getJEditorPane() { if(jEditorPane == null){ jEditorPane = new JEditorPane(); try { jEditorPane.setPage(getClass().getResource("jeditorpane.html")); } catch (Exception e) {} jEditorPane.setEditable(false); jEditorPane.addHyperlinkListener(new HyperlinkListener() { public void hyperlinkUpdate(HyperlinkEvent e) { if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { try { jEditorPane.setPage(e.getURL()); } catch (Exception e2) {} } } }); } return jEditorPane; } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JEditorPaneExample jFram = new JEditorPaneExample(); jFram.setVisible(true); } }); } }
source를 누르면 오른쪽 페이지로 넘어가고 previous를 누르면 왼쪽 페이지로 다시 돌아옵니다.
JEditorPane를 HTML을 창에 띄우고 해당 코드를 확인할 수 있게 구현해보았습니다.
여러 파일들을 활용할 때 메서드나 기능들을 잘 적용해야겠어요!!! 더 많은 기능들에 대해서 배워볼게요~!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~

728x90
반응형
'BackEnd > Java' 카테고리의 다른 글
[java]이것이 자바다 부록 Java UI 8-1 (Swing을 이용한 테이블 컴포넌트 2) (0) | 2023.02.18 |
---|---|
[java]이것이 자바다 부록 Java UI 8 (Swing을 이용한 테이블 컴포넌트 1) (0) | 2023.02.18 |
[java]이것이 자바다 부록 Java UI 6 (Swing을 이용한 텍스트 컴포넌트) (1) | 2023.02.16 |
[java]이것이 자바다 부록 Java UI 5 (Swing을 이용한 버튼 컴포넌트) (0) | 2023.02.16 |
[java]이것이 자바다 부록 Java UI 4 (Swing을 이용한 이벤트 처리) (0) | 2023.02.16 |