tylko jest taki problem, że mój obrazek jest wstawiany klasa ImageRenderer:
public class ImageRenderer extends DefaultTableCellRenderer {
static JLabel lbl = new JLabel();
TableModel _table;
ImageIcon _icon = new ImageIcon(getClass().getResource("/img/image.jpg"));
public ImageRenderer(TableModel table){
_table=table;
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
lbl.setText((String) value);
lbl.setHorizontalAlignment(CENTER);
lbl.setVerticalAlignment(CENTER);
lbl.setIcon(_icon);
return lbl;
}
private ImageIcon convert(ImageIcon _icon) {
return new ImageIcon(_icon.getImage().getScaledInstance(
30, 30, 0));
}
}
i później klasę tą wywołuję w innej klasie:
final JTable _Table = new JTable(_TableModel);
_Table.getColumnModel().getColumn(0).setCellRenderer(new ImageRenderer(_TableModel));
próbowałem dodać mouseListener w ImageRenderer dla JLabel, ale wtedy nic się nie dzieje. Jakaś podpowiedź?
Tak w ogóle, w tym programie jest JFrame w którym jest tabelka i w pierwszej kolumnie tabelki wyświetla sie obrazek, dlatego użyłem klasy ImageRenderer.