Java 不渲染显示 table
Java doesn't render display table
我们的老师要求我们使用 java 并显示 table 来制作单体应用程序的示例。
这里的程序:
public Main() {
super("Project X");
super.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
StringBuilder sb = new StringBuilder();
sb.append("<html>");
sb.append("<body>");
sb.append("<div style='border: 2px'>");
sb.append("<h1> Almanacco astronomico </h1>");
sb.append("<h2> Novembre 2018 </h2>");
sb.append("<p> <b>Il Sole.</b> <i>In Novembre perderemo complessivamente 1 ora e 3 minuti di luce.</i></p>");
// create a table
sb.append("<div style='display:table'>");
// create a row
sb.append("<div style='display:table-row'>");
// create a cell
sb.append("<div style='display:table-cell'>");
sb.append("Data");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("Sorge");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("Tramonta");
sb.append("</div>");
sb.append("</div>");//close div row
// create a row
sb.append("<div style='display:table-row'>");
sb.append("<div style='display:table-cell'>");
sb.append("1gio");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("6:55");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("17:10");
sb.append("</div>");
sb.append("</div>");//close div row
sb.append("<div style='display:table-row'>");
// create a cell
sb.append("<div style='display:table-cell'>");
sb.append("2ven");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("6:56");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("17:08");
sb.append("</div>");
sb.append("</div>");//close div row
sb.append("</div>");//close div table
sb.append("</div>");//close container
sb.append("</body>");//close body
sb.append("</html>");
// DONE Convertire lo StringBuilder in String
String htmlText = sb.toString();
// DONE Assegnare correttamente la stringa create a JLabel
super.add(new JLabel(htmlText));
super.setVisible(true);
System.out.println(htmlText);
}
public static void main (String[] args) {
new Main();
}
我注意到 java 没有呈现 css,事实上,如果我 运行 没有 table,只有 [= 的垂直列表23=]-单元格内容。有一种方法可以渲染 table 吗?
PS。 Java 甚至不渲染 border:2px
JLabel
不支持 CSS 2.x
视觉格式化模型。
然后 HTML4 style=""
属性和 CSS 框格式将不起作用。
swing中有部分支持CSS,你可以看看支持的CSS元素here
我们的老师要求我们使用 java 并显示 table 来制作单体应用程序的示例。 这里的程序:
public Main() {
super("Project X");
super.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
StringBuilder sb = new StringBuilder();
sb.append("<html>");
sb.append("<body>");
sb.append("<div style='border: 2px'>");
sb.append("<h1> Almanacco astronomico </h1>");
sb.append("<h2> Novembre 2018 </h2>");
sb.append("<p> <b>Il Sole.</b> <i>In Novembre perderemo complessivamente 1 ora e 3 minuti di luce.</i></p>");
// create a table
sb.append("<div style='display:table'>");
// create a row
sb.append("<div style='display:table-row'>");
// create a cell
sb.append("<div style='display:table-cell'>");
sb.append("Data");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("Sorge");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("Tramonta");
sb.append("</div>");
sb.append("</div>");//close div row
// create a row
sb.append("<div style='display:table-row'>");
sb.append("<div style='display:table-cell'>");
sb.append("1gio");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("6:55");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("17:10");
sb.append("</div>");
sb.append("</div>");//close div row
sb.append("<div style='display:table-row'>");
// create a cell
sb.append("<div style='display:table-cell'>");
sb.append("2ven");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("6:56");
sb.append("</div>");
sb.append("<div style='display:table-cell'>");
sb.append("17:08");
sb.append("</div>");
sb.append("</div>");//close div row
sb.append("</div>");//close div table
sb.append("</div>");//close container
sb.append("</body>");//close body
sb.append("</html>");
// DONE Convertire lo StringBuilder in String
String htmlText = sb.toString();
// DONE Assegnare correttamente la stringa create a JLabel
super.add(new JLabel(htmlText));
super.setVisible(true);
System.out.println(htmlText);
}
public static void main (String[] args) {
new Main();
}
我注意到 java 没有呈现 css,事实上,如果我 运行 没有 table,只有 [= 的垂直列表23=]-单元格内容。有一种方法可以渲染 table 吗? PS。 Java 甚至不渲染 border:2px
JLabel
不支持 CSS 2.x
视觉格式化模型。
然后 HTML4 style=""
属性和 CSS 框格式将不起作用。
swing中有部分支持CSS,你可以看看支持的CSS元素here