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