2012-05-02 2 views

ответ

4

Да. JEditorPane может показывать (простой) HTML. См. Это JEditorPane tutorial для более подробной информации.

+0

Может ли JEditorPane отображать цвет фона тела HTML. ?? – mani

+2

Что случилось, когда вы попробовали? –

+0

не отображает цвет фона HTML-кода. – mani

2

JEditorPane поддерживает подмножество элементов HTML 3.2, а также простые стили (CSS). Хотя эта задача может быть достигнута с использованием CSS, элемент тела HTML 3.2 также принимает значение bgcolor.

Web page with background color

import java.awt.Dimension; 
import javax.swing.*; 

class WebPageWithBackground { 
    WebPageWithBackground() { 
     String html = "<html><body bgcolor='#ffbb99'>Hi!"; 
     JEditorPane jep = new JEditorPane(); 
     jep.setContentType("text/html"); 
     jep.setText(html); 
     jep.setPreferredSize(new Dimension(400,50)); 
     JOptionPane.showMessageDialog(null, jep); 
    } 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       new WebPageWithBackground(); 
      } 
     }); 
    } 
} 
2

На самом деле, почти каждый Свинг компонент, который может отображать пользовательский пользовательский текст где-то позволяет HTML вместо текста. Напр. Текст JButton, заголовок закладки JTabbedPane, JTable cell/header, JLabel text, JList/JTree/JComboBox, визуализаторы ячеек компонентов и другие.

Чтобы использовать HTML внутри любого из них - просто добавьте тег «" в начале текста - этого будет достаточно, чтобы позволить парсенсу просмотра знать, что у вас есть HTML внутри.

Также HTML, который поддерживается на Java, довольно старый, и большинство новых функций не будут работать, как вы могли бы видеть их в современных браузерах или визуальных редакторах. Но его еще более чем достаточно, чтобы создать какой-то контент с расширенными компонентами, где вам нужно.

И еще одна вещи - если вы хотите, чтобы отобразить некоторые локальные изображения, находящиеся внутри в HTML вы должны изменить базовое местоположение компонента, чтобы он мог правильно загрузить их:

component.putClientProperty (BasicHTML.documentBaseKey, 
           new File ("/local/path/").toURI().toURL()); 

Некоторые правильный URL должен быть в соответствии с этим (локальный или удаленный).

Смежные вопросы