当前位置: 技术问答>java相关
请求援助!!!如何在JTable加载图片???
来源: 互联网 发布时间:2015-08-29
本文导语: 如何在JTable加载图片???!!! 请求援助!! | 如果你要给你的给你的 JTable 建立一个表渲染器,通常由TableCellRenderer继承而来,代码如下 class ColorTableCellRenderer implements TableCellRenderer {...
如何在JTable加载图片???!!!
请求援助!!
请求援助!!
|
如果你要给你的给你的 JTable 建立一个表渲染器,通常由TableCellRenderer继承而来,代码如下
class ColorTableCellRenderer implements TableCellRenderer
{ public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column)
{ panel.setBackground((Color)value);
return panel;
}
private JPanel panel = new JPanel();
}
然后你还要给你的表建立一个表模型以重载getColumnClass方法,例如:
class MyTableModel extends AbstractTableModel
{ //tableData是你表模型保存的数据
public Class getColumnClass(int i)
{ return tableData[0][i].getClass();
}
//其它方法省略
}
这样,渲染器根据你在标模型里getColumnClass返回得知来进行默认渲染,默认渲染方法:ImageIcon渲染为图形,Boolean渲染为CheckBox, 其它被渲染成字符串。
class ColorTableCellRenderer implements TableCellRenderer
{ public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column)
{ panel.setBackground((Color)value);
return panel;
}
private JPanel panel = new JPanel();
}
然后你还要给你的表建立一个表模型以重载getColumnClass方法,例如:
class MyTableModel extends AbstractTableModel
{ //tableData是你表模型保存的数据
public Class getColumnClass(int i)
{ return tableData[0][i].getClass();
}
//其它方法省略
}
这样,渲染器根据你在标模型里getColumnClass返回得知来进行默认渲染,默认渲染方法:ImageIcon渲染为图形,Boolean渲染为CheckBox, 其它被渲染成字符串。
|
jTable1.setIcon(new ImageIcon(new java.net.URL("file:///d:/categories.gif")));
或者
jTable1.setIcon(new ImageIcon("d:/categories.gif"));
或者
jTable1.setIcon(new ImageIcon("d:/categories.gif"));
|
CellEditer