Java 单击(鼠标事件)行时如何在jTable单元格中设置图像?
单击(鼠标事件)行时如何在jTable单元格中设置图像?如果选择第一行,图像将显示在该行中。然后单击第二行,图像将显示在第二行中?如何使用表格单元格渲染器或准备渲染器进行此操作?最好的方法是创建自己的表格单元格渲染器Java 单击(鼠标事件)行时如何在jTable单元格中设置图像?,java,swing,jtable,imageicon,renderer,Java,Swing,Jtable,Imageicon,Renderer,单击(鼠标事件)行时如何在jTable单元格中设置图像?如果选择第一行,图像将显示在该行中。然后单击第二行,图像将显示在第二行中?如何使用表格单元格渲染器或准备渲染器进行此操作?最好的方法是创建自己的表格单元格渲染器 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
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
}
类似于此。如果您只希望图像显示在表格单元格中,请使用for
ImageIcon
并确保您的TableModel
为该列返回ImageIcon.class
如果你想让图片在点击时出现,请考虑使用“<代码> > StCurkEndotToSoT(1)和你的图像作为<代码>图标>代码> < /P> < P>这是你在JTAL中显示图像的第四个问题,所以我猜你已经知道如何做了。 因此,如果要在选择更改时更新行,则需要使用ListSelectionListener。然后,当侦听器启动时,您将需要更新TableModel以从上一行中删除图标,并更新当前行中的图标
显示您可以获取要更新的行号。返回super(…);super()中会出现什么?super是调用超类或超类的方法。因此,您必须调用已重写的方法。当我这样使用时,图像将不会出现在JTable中。您必须修改代码,而不仅仅是复制它。您必须说出图像的位置,并且需要加载它。看看java的ImageIO类。哦,对不起,kleopatra是对的。您必须将图像放置在jLabel上。返回JlabelPost您的SSCCE演示问题。