繁体   English   中英

单击(鼠标事件)行时如何在jTable单元格中设置Image?

[英]how set Image in jTable cell when click(Mouse Event) the row?

单击(鼠标事件)行时如何在jTable单元格中设置图像?如果选择第一行,图像将显示在该行中。然后单击第二行,图像将显示在第二行中?使用表格单元格渲染器或准备渲染器?

如果只希望图像显示在表格单元格中,请为ImageIcon使用默认渲染器 ,并确保TableModel为该列返回ImageIcon.class

如果您希望图像显示为响应单击,请考虑使用TablePopupEditor的变体和TablePopupEditor setClickCountToStart(1)并将图像作为Icon

这是关于在JTable中显示图像的第四个问题,所以我猜您已经知道该怎么做。

因此,如果要在选择更改时更新行,则需要使用ListSelectionListener。 然后,当侦听器触发时,您将需要更新TableModel以从上一行中删除图标,并更新当前行中的图标。

JList:先前选择的项目显示您可以获取要更新的行号。

最好的方法是使自己拥有表格单元格渲染器。

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            if(isSelected){
               return new Image(); // if selected
            }
return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); // if not selected do the normal stuff
}

这样的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM