Имам 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
ширина)