gpt4 book ai didi

java - 处理 TableCellRenderer 上的整行

转载 作者:行者123 更新时间:2023-11-29 06:13:52 26 4
gpt4 key购买 nike

我正在实现 TableCellRenderer 以在最后一个值是否为特定值时做出明显的区别。

所以,这些实现的代码是:

    TableColumnModel tcm = table.getColumnModel();
TableColumn col = tcm.getColumn(column);

JLabel cellComponent = new JLabel();
if (value != null)
{
cellComponent.setText( String.valueOf( value ) );
}else
cellComponent.setText( "-" );

String colName = (String) col.getHeaderValue();
if (colName.startsWith("Vigencia") && !cellComponent.getText().equals("-"))
{
long dias = Long.valueOf(cellComponent.getText());
if (dias <0)
{
dias = dias -(dias*2); //Le resto (dias x 2) para sacarle el negativo...

cellComponent.setText( String.valueOf(dias) );
cellComponent.setBorder( BorderFactory.createLineBorder(Color.RED));
}
}

为了填充我的表,我有一个从 JTable 扩展的类,并使用此方法来填充表:

public void setData(LinkedList<T> list)
{
if (list.size() == 0)
{
cleanTableData();
return;
}

int index = 0;
Object[][] o = new Object[list.size()][_columnNames.length];
for (T obj : list)
{
Object[] data = obj.toStringReporte();
o[index++] = data;
}
_tableModel = new DefaultTableModel( o, _columnNames );
setModel(_tableModel);
setColumnWidths();
}

toStringReporte 方法是这个:

public Object[] toStringReporte()
{
String planName = "-";
if (getPlanID() != null)
{
Plan plan = Adapter.getInstance().getElement(getPlanID(), new Plan());
planName = plan.getNombre();
}

return new Object[]{getID(),
getNombre(),
getApellido(),
getDni(),
(getEstado().equals("A") ? "Activo" : "Inactivo"),
(getSexo().equals("M") ? "Masculino" : "Femenino"),
(getFichaMedica() != null ? new SimpleDateFormat(Defines.DATE_FORMAT).format(new Date(getFichaMedica())) : "-"),
planName,
(getFechaVencimiento() != null ? SGGDateUtils.diferenceInDaysBetweenTwoDatesMS(getFechaVencimiento(), new Date().getTime()) : "-")};
}

我的问题是(如类名所示)唯一的变化是单元格 边框。我想更改整个行的边框。

有人知道如何改变整行的边框吗?

最佳答案

Table Row Rendering显示了如何呈现行级边框。

关于java - 处理 TableCellRenderer 上的整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5809767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com