Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Удалит/изменить дефаултовые стили параграфа


Автор: kaa 19.5.2008, 21:50
Есть вопросец однако.

В общем когда я устанавливаю стили таким макаром:
Код

StyleSheet sheet = document.getStyleSheet();
sheet.addRule( "p { margin: 0px; margin-top: 2px; font-family: Serif }");

то они прописываются в HTMLDocument-е в виде таблице стилей в заголовки, при этом JTextPane продолжает формировать параграф по умолчанию в таком виде:

Код

<p style='mergin-top:0;'>
какой-то текст
</p>


Мне эти неучтенные стили в параграфе как зайцу стоп-сигнал.

Кто-нибуть знает как от этого збавится? Или хотя бы поставить туда свои значения?

Автор: ecologist 20.5.2008, 09:25
Не понял я твоего вопроса.

Автор: kaa 20.5.2008, 19:36
ecologist, 

Есть JTextPane, создаваемый следующим образом:

Код

class Editor extends JTextPane{
    HTMLEditorKit kit;
    public Editor(){
        kit = new HTMLEditorKit();
        this.setSize(100, 100);
        this.setContentType("text/html");
        this.setEditorKit(this.kit);
        this.setDocument(this.kit.createDefaultDocument());
    }
}


Допустим мы ввели в него строку Hello! и пытаемся получить HTML код документа в JTextPane:

Код

HTMLEditorKit hek = new HTMLEditorKit();
CharArrayWriter caw = new CharArrayWriter();
try{
        hek.write(caw, description, 0, description.getLength());
     }
catch(Exception ex){}
char charArr[] = caw.toCharArray();
String descStr = new String(charArr);


Здесь description - это сохраненный HTMLDocument из ранее заполненного JTextPane.

Так вот, в строке descStr у нас образуется следующая конструкция:

Код

<html>
   <body>
      <p style="margin-top: 0;">
         Hello!
      </p>
   </body>
</html>


Вопрос в том, как убрать style из p, который вставляется туда по умолчанию.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)