Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa JTextPane và JEditorPane trong Java là gì?

A JTextPane là phần mở rộng của JEditorPane cung cấp các tính năng xử lý văn bản như phông chữ, kiểu văn bản, màu sắc và v.v. Nếu chúng ta cần xử lý văn bản nặng, chúng ta có thể sử dụng lớp này trong khi JEditorPane hỗ trợ hiển thị / chỉnh sửa HTML RTF nội dung và có thể được mở rộng bằng cách tạo EditorKit của riêng chúng tôi .

JTextPane

  • A JTextPane là một lớp con của JEditorPane .
  • A JTextPane được sử dụng cho tài liệu được tạo kiểu có nhúng hình ảnh và các thành phần.
  • A JTextPane là một thành phần văn bản có thể được đánh dấu bằng các thuộc tính được biểu thị bằng đồ thị và nó có thể sử dụng DefaultStyledDocument làm mô hình mặc định.
  • Các phương thức quan trọng của JTextPane là addStyle (), getCharacterAttributes (), getStyledDocument (), setDocument (), setEditorKit (), setStyledDocument () và v.v.

Ví dụ

import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
public class JTextPaneTest {
   public static void main(String args[]) throws BadLocationException {
      JFrame frame = new JFrame("JTextPane Test");
      Container cp = frame.getContentPane();
      JTextPane pane = new JTextPane();
      SimpleAttributeSet set = new SimpleAttributeSet();
      StyleConstants.setBold(set, true);
      pane.setCharacterAttributes(set, true);
      pane.setText("Welcome to");
      set = new SimpleAttributeSet();
      StyleConstants.setItalic(set, true);
      StyleConstants.setForeground(set, Color.blue);
      Document doc = pane.getStyledDocument();
      doc.insertString(doc.getLength(), " Tutorials ", set);
      set = new SimpleAttributeSet();
      StyleConstants.setFontSize(set, 20);
      doc.insertString(doc.getLength(), " Point", set);
      JScrollPane scrollPane = new JScrollPane(pane);
      cp.add(scrollPane, BorderLayout.CENTER);
      frame.setSize(375, 250);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setLocationRelativeTo(null);
      frame.setVisible(true);
   }
}

Đầu ra

Sự khác biệt giữa JTextPane và JEditorPane trong Java là gì?

JEditorPane

  • A JEditorPane là một loại vùng văn bản có thể hiển thị các định dạng văn bản khác nhau
  • Theo mặc định, JEditorPane hỗ trợ HTML RTF (Định dạng Văn bản Đa dạng thức) , chúng tôi có thể tạo bộ công cụ biên tập của riêng mình để xử lý một loại nội dung cụ thể.
  • Chúng tôi có thể sử dụng setContentType () để chọn tài liệu chúng tôi muốn hiển thị và setEditorKit () phương pháp đặt trình chỉnh sửa tùy chỉnh cho JEditorPane rõ ràng.

Ví dụ

import javax.swing.*;
public class JEditorPaneTest extends JFrame {
   public JEditorPaneTest() {
      setTitle("JEditorPane Test");
      JEditorPane editorPane = new JEditorPane();
      editorPane.setContentType("text/html");
      editorPane.setText("<h1>Java</h1><p>is a general-purpose computer programming language that is       concurrent, class-based, object-oriented, and specifically designed to have as few          implementation dependencies as possible.</p>");
      setSize(350, 275);
      setContentPane(editorPane);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] a) {
      new JEditorPaneTest();
   }
}

Đầu ra

Sự khác biệt giữa JTextPane và JEditorPane trong Java là gì?