Java 如何在JTable自定义呈现程序中使用HTML

Java 如何在JTable自定义呈现程序中使用HTML,java,html,swing,jtable,renderer,Java,Html,Swing,Jtable,Renderer,在我的JTable单元格中使用HTML时,它将显示为 <html><b>Example</html></b> 示例 而不是使用正确的html样式。我了解到默认渲染器处理html文本。如何更改自定义渲染器以正确显示HTML 我的Jtable: tab_months = new JTable(tabmod_months) { @Override public Component prepareRenderer(Table

在我的JTable单元格中使用HTML时,它将显示为

  <html><b>Example</html></b>
示例
而不是使用正确的html样式。我了解到默认渲染器处理html文本。如何更改自定义渲染器以正确显示HTML

我的Jtable:

tab_months = new JTable(tabmod_months) {        
    @Override public Component prepareRenderer(TableCellRenderer renderer,
            int row,
            int col){
        Component c = super.prepareRenderer(renderer, row, col);
        int selCol = tab_months.getSelectedColumn();
        int selRow = tab_months.getSelectedRow();
        if ( selCol != -1 && selRow != -1 ){
            if (row == selRow){
                c.setBackground(new Color(163,198,255));
            } else {
                c.setBackground(new Color(255,240,245));    
            }               
        }

        if (row>=0 && row<listOpenmonths.size()+1) {
            setToolTipText(listOpenmonths.get(row).getmonthsString());
        }   

        return c;
    }
};
tab_months=新的JTable(tabmod_months){
@重写公共组件prepareRenderer(TableCellRenderer,
int row,
整数(col){
组件c=super.prepareRenderer(渲染器、行、列);
int selCol=tab_months.getSelectedColumn();
int selRow=tab_months.getSelectedRow();
如果(selCol!=-1&&selRow!=-1){
如果(行==selRow){
c、 挫折背景(新颜色(163198255));
}否则{
c、 挫折背景(新颜色(255240245));
}               
}

如果(row>=0&&row发现问题:我的html标记在字符串中,无法识别…更改了字符串格式,它正常工作了。谢谢!

html在Swing中仅提供基本支持(好的,支持诸如、span、div和tables等标记,但不支持css功能)。因此,您无法使用大多数样式功能。但是,当您扩展JPanel并实现
TableCellRenderer
界面时,您可以编写自己的渲染器。在这种情况下,您可以使用Swing布局选项对数据进行样式设置。
如何更改自定义渲染器以正确显示HTML?
-您不需要执行任何操作。默认设置为JTable的NDER是一个JLabel。JLabel知道如何显示基本的HTML。使用粗体标记对我来说很好。发布你的文章来演示这个问题。因此,从创建一个带有标准JTable的JFrame开始,并将你的HTML字符串添加到TableModel中。让它工作起来。然后尝试用你的自定义代码自定义类。如果它停止工作,你可以知道您更改了什么以及问题所在。这样您就可以在问题中包含更多信息。@SergiyMedvynskyy“但没有css功能”Swing HTML呈现引擎只支持有限数量的css,但它确实支持一些css。