已經存在一個jtable,我需要動態添加一列,然後爲該列設置表格單元格渲染器,單元格渲染器帶有圖標的jlabel。我已經完成了。如何根據在jtable中動態添加的列對行進行排序?
我的問題是:現在我需要根據表格單元格渲染器中使用的不同圖標對列進行排序,那麼該怎麼做?謝謝。
有相關的代碼:
JTable table;// the table is already existed, I cannot change it
TableColumn column = new TableColumn();
column.setHeaderValue("Icon");
column.setCellRenderer(new IconCellRenderer());
table.addColumn(column);
public class IconCellRenderer extends DefaultTableCellRenderer
{
private static final long serialVersionUID = 1L;
public IconCellRenderer()
{
super();
}
@Override
public Component getTableCellRendererComponent(JTable pTable, Object pValue,
boolean pIsSelected, boolean pHasFocus, int pRow, int pColumn)
{
JLabel label = new JLabel();
if (checkCondition(..))
{
label.setIcon(iconOne);
}
else
{
label.setIcon(iconTwo));
}
label.setHorizontalAlignment(SwingConstants.CENTER);
return label;
}
}
發佈一些代碼或描述你已經嘗試過的內容會幫助你獲得答案。 – user2314737