Hallo,
ich arbeite erst seit kurzem intensiver mit Java Swing und stecke nun gerade etwas fest. Hoffe, dass mit hier ggf. geholfen werden kann.
Die Idee ist eine JTabel zu erstellen, bei der ein delete_icon (sonst shadow_icon) am Anfang jeder Zeile angezeigt wird, wenn man mit der Maus über die Zeile fährt. Bis jetzt habe ich das Problem so gelöst, dass ich eine extra Column am Anfang der Table eingefügt habe und dort das Icon angezeigt wird.
Ich würde nun aber gerne dieses Icon in die normale erste Columne integrieren, die links das Icon hat und rechts noch einen Integer werd, mit dem genauso gearbeitet wird, wie mit allen anderen Werten in der Table. Bin mir aber nun nicht sicher, ob das überhaupt möglich ist, und wenn ja, wie ich das realisieren kann.
Hier mein aktueller Code:
Vielen Dank schon mal im voraus für Hilfe.
ich arbeite erst seit kurzem intensiver mit Java Swing und stecke nun gerade etwas fest. Hoffe, dass mit hier ggf. geholfen werden kann.
Die Idee ist eine JTabel zu erstellen, bei der ein delete_icon (sonst shadow_icon) am Anfang jeder Zeile angezeigt wird, wenn man mit der Maus über die Zeile fährt. Bis jetzt habe ich das Problem so gelöst, dass ich eine extra Column am Anfang der Table eingefügt habe und dort das Icon angezeigt wird.
Ich würde nun aber gerne dieses Icon in die normale erste Columne integrieren, die links das Icon hat und rechts noch einen Integer werd, mit dem genauso gearbeitet wird, wie mit allen anderen Werten in der Table. Bin mir aber nun nicht sicher, ob das überhaupt möglich ist, und wenn ja, wie ich das realisieren kann.
Hier mein aktueller Code:
Java:
public int hover_row;
class MotionListener extends MouseMotionAdapter{
public void mouseMOved(MouseEvent e) /
Point hpoint = e.getPoint();
hover_row = rowAtPoint(hpoint);
getColumnModel.getCOlum(0).setCellRenderer(new ImageRenderer());
repaint();
}
}
class ImageRenderer implements TableCellRenderer{
JLabel label = new JLabel();
ImageIcon delete_icon= new ImageIcon(getClass().getResource("\delete_icon.png"));
ImageIcon shadow = new ImageIcon(getClass().getResource("\shadow_icon.png"));
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocous, int row, int column){
if (row = hover_row){
label.setIcon(delete_icon);
}else{
label.setIcon(shadow);
}
return label;
}
}
Vielen Dank schon mal im voraus für Hilfe.