Java不渲染显示表

时间:2018-11-12 14:41:44

标签: java css-tables

我们的老师要求我们使用Java和显示表来制作单片应用程序的示例。 这里是程序:

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,实际上,如果我运行css,就不会有表格,而只有表格单元格内容的垂直列表。有一种渲染表格的方法吗? PS。 Java甚至不渲染border:2px

1 个答案:

答案 0 :(得分:1)

JLabel不支持CSS 2.x视觉格式模型。

然后HTML4 style=""属性和CSS框格式将不起作用。

摆动中部分支持CSS,您可以查看受支持的CSS元素here