问两个问题,关于swing程序使用图标的
1.swing的JTree结点图标能不能设置为动画图标,如果能怎么实现?
2.JTable里面的某一列数据想显示为图标,怎么做?
最好详细说说实现的步骤
------解决方案--------------------动画图标?不能吧
------解决方案--------------------理论上应该可以
cellreader
------解决方案--------------------1.swing的JTree结点图标能不能设置为动画图标,如果能怎么实现?
把要显示的图形类型模式改成gif的就可以了。
2.JTable里面的某一列数据想显示为图标,怎么做?
要用多层嵌套。
------解决方案--------------------2.JTable里面的某一列数据想显示为图标,怎么做?
class MyRender extends JLabel implements TableCellRenderer
{
Icon icon;
public MyRender(Icon icon)
{
this.icon = icon;
}
public component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
//假设将第一列设为图标
if(column == 0)
{
this.setIcon(icon);
}
return this;
}
}
...
...
jTable.setDefaultRenderer(columnClass,new MyRender(icon))
------解决方案--------------------empireconquer 正解
------解决方案--------------------class MyRender implements TableCellRenderer
{
Icon icon;
public MyRender(Icon icon)
{
this.icon = icon;
}
public component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
//假设将第一列设为图标
JLabel ret = new JLabel();
ret.setText(value.toString());
if(column == 0)
{
ret.setIcon(icon);
}
return ret;
}
}
...
...
jTable.setDefaultRenderer(columnClass,new MyRender(icon))
这样应该没有问题了。