2010-11-07 11 views
6

Wyświetlam zawartość HTML wewnątrz Swing JEditorPane. Aby zmienić domyślny wygląd HTML, używam arkusza stylów CSS. Działa to świetnie. Mój problem polega tylko na tym, że JEditorPane nie obsługuje pełnej specyfikacji CSS. Czy istnieje lista funkcji CSS obsługiwanych przez JEditorPane?Funkcje Swing JEditorPane CSS

+0

Co dokumentacja klasy CSS powiedzieć? – camickr

+1

Dobra wiadomość! 'javax.swing.text.html.StyleSheet' mówi:" Przyszłe wersje tej klasy zapewnią lepszą obsługę CSS. " – trashgod

+1

@trashgod: Założę się, że komentarz istnieje od 2002 roku :) –

Odpowiedz

5

Java ma stosunkowo słabą pozycję w zakresie obsługi HTML/CSS. Komentarz w docs podkreślony przez trashgod od lat przynosi obiecujące usprawnienia. Mniej więcej w czasie, gdy JavaFX był wydawany, mówiono o oficjalnym JWebPane, który pozwoliłby programistom Java uzyskać dostęp do silnika webkitów, tak jak w Safari i Chrome. Jednak nigdy się nie zmaterializował.

Jedyne, co mogę ci zaoferować, to przejrzeć alternatywne rendery HTML/CSS dla Javy. Często polecam projekt xhtmlrenderer. Rozwój spowolnił, ponieważ generalnie utrzymuje istniejącą wersję ze sporadycznymi poprawkami błędów. Jest ukierunkowany na CSS 2.1, który często jest więcej niż wystarczający; chociaż być może przejdzie do CSS, kiedy standard zostanie sfinalizowany.

0

JEditorPane jest bardzo ograniczony. Lepiej jest zintegrować natywną przeglądarkę, jeśli potrzebujesz prawidłowego wyświetlania HTML.

Sprawdź projekty takie jak DJ Native projektu Swing: http://djproject.sourceforge.net/ns

4

Patrząc na źródłowego CSS.java freom się OpenJava JDK, znalazłem to:

definiuje zbiór atrybutów CSS jako wyliczenie typesafe. Implementacje widoku HTML używają atrybutów CSS w celu określenia sposobu renderowania. Określa również metody mapowania między CSS/HTML/StyleConstants. Wszelkie skrócone właściwości, takie jak czcionki, są odwzorowane na właściwości wewnętrzne.

Poniższy opis właściwości CSS są suppored silnikiem wykończeniową:

  • czcionki mieszkaniami
  • czcionki stylu
  • rozmiar czcionki (obsługuje jednostki względne)
  • czcionki-ciężar
  • czcionka
  • kolor
  • tło-kolor (w ith wyjątkiem przezroczysty)
  • tło obrazu
  • background-repeat
  • background-position
  • tło
  • background-repeat
  • text-decoration (z wyjątkiem migać i overline)
  • wyrównywanie w pionie (tylko sup i super)
  • wyrównanie tekstu (uzasadnienie jest traktowane jako centrum)
  • margin-top
  • margin-right
  • margin-bottom
  • margin-left
  • margines
  • padding-top
  • padding-prawy
  • padding-bottom
  • padding-left
  • border-style (obsługuje tylko wstawianie, wstawianie i brak)
  • list-style-type
  • list-style-position

Poniżej są modelowane, ale aktualnie nie renderowane.

  • font-variant
  • background-attachment (w tle zawsze traktowane jako scroll)
  • word-spacing
  • letter-spacing
  • text-indent
  • text-transform
  • linię -height
  • border-top-width (służy do wskazania, czy należy użyć ramki)
  • border-right-width
  • border-bottom-width
  • border-left-width
  • border-width
  • border-top
  • border-right
  • border-bottom
  • border-left
  • border
  • szerokość
  • wysokość
  • pływak
  • jasne
  • wyświetlacz
  • white-space
  • list-style