Java – Как установить максимальную ширину для «таблицы» в JTextPane?

У меня есть JTextPane с содержимым html:

    Pane = new JTextPane();
    Pane.setEditable(false);
    Pane.setContentType("text/html");
    Pane.setEditorKit(kit);
    Pane.setText("<html><body><div id='content'></div></body></html>");
    doc = (HTMLDocument) Pane.getStyledDocument();
    content = doc.getElement("content");

Я добавляю свой html-элемент во время выполнения с помощью:

doc.insertBeforeEnd(content, "<table class = 'text'><tr><td>"+text+"</td></tr></table>"); // text is input from user

вот CSS, который я использую:

    styleSheet = doc.getStyleSheet();
    styleSheet.addRule("body{background-color:#FFFFFF; margin 0%;}");
    styleSheet.addRule("#content {margin: 0% 10%; width : 80%; }"); // I set them to bring element that will add at the center of `jtextpane` but it did't work!
    styleSheet.addRule("table{ max-width: 60%;}"); // I set this to prevent table with long width, but it didn't work! 
    styleSheet.addRule(".text{background-color:#E2EAF3;margin : 2px;padding : 1px 2px; border-width: 1px;border-style: solid;border-color: #D5D3CD;text-align: right;}");

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

Как я могу установить свойство CSS для достижения своих целей.

  • Я хочу установить максимальный размер для ширины, поэтому, если размер текста больше, он переносится, а если короче, то фон фиксируется на его содержимом.

примечание: код, который я использую для создания HTMLEditorKit, отлично работает для переноса текста, проблема заключается в том, чтобы установить максимальную ширину. (теперь он заворачивается, когда достигает ширины JTextPane)


person user3806649    schedule 15.08.2014    source источник
comment
нужно дождаться комментария/ответа от StanislavL или Andrew Thompson   -  person mKorbel    schedule 15.08.2014
comment
@mKorbel Я знаю, как ограничить ширину таблицы, но проблема в том, чтобы получить значение максимальной ширины из стиля.   -  person StanislavL    schedule 15.08.2014


Ответы (1)


Свойство max-width нельзя определить для таблиц, строк или ячеек (Подробнее о W3 здесь). Вместо этого вы должны использовать width.

person sarahjadesigns    schedule 15.08.2014
comment
Из предоставленной вами ссылки - свойство «max-width» Применяется ко всем элементам, кроме незаменяемых встроенных элементов, строк таблицы и групп строк. - person StanislavL; 15.08.2014
comment
Я интерпретировал документацию W3, что она ДОЛЖНА работать на столе. И, похоже, она действительно отлично работает в EI11, Chrome V41 и Firefox V36. - person Anders Östman; 25.03.2015