【发布时间】:2011-08-02 15:51:10
【问题描述】:
我可以设置列的标题,但不能在 JTable 的第一列的所有行中设置图标。
public class iconRenderer extends DefaultTableCellRenderer{
public Component getTableCellRendererComponent(JTable table,Object obj,boolean isSelected,boolean hasFocus,int row,int column){
imageicon i=(imageicon)obj;
if(obj==i)
setIcon(i.imageIcon);
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
setHorizontalAlignment(JLabel.CENTER);
return this;
}
}
public class imageicon{
ImageIcon imageIcon;
imageicon(ImageIcon icon){
imageIcon=icon;
}
}
我的 BuildTable() 方法中的以下行。
public void SetIcon(JTable table, int col_index, ImageIcon icon){
table.getTableHeader().getColumnModel().getColumn(col_index).setHeaderRenderer(new iconRenderer());
table.getColumnModel().getColumn(col_index).setHeaderValue(new imageicon(icon));
}
我们如何为第一列的所有行设置它?我已经尝试过 for 循环,但还没有让行迭代来设置图标。或者有没有其他办法?
【问题讨论】:
-
这段代码现在做了什么?它具体有什么问题。
-
还有什么是 imageicon 类。只需将图像存储在该列中并直接使用它,而不是处理其他类。
-
它的设置列的标题只是。但想把图标放在第一列的所有行。
标签: java swing jtable tablemodel cellrenderer