Java - Как да задам максимална ширина за ‹table› в 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