• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2962
  • Last Modified:

How to add MouseListener to Icon in JTable cell?

Hi Experts,
In my JTable , I am using custom cellRenderer to add the  icon depending upon value of cell.
Table cell shows icon followed by text, I need to open new JMessageDialog when user clicks this icon .

How I can add  mouselistner to this icon ?

public class DescriptionCellRenderer extends DefaultTableCellRenderer {
 
	
	 public Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, boolean hasFocus, int row, int column) {
 Component cell = super.getTableCellRendererComponent(table, value,isSelected, hasFocus, row, column);
		
		String val=value.toString();
		
		if (!val.equals("ok")){
							ImageIcon icon = new ImageIcon("help.gif");
			setText(val);
			setIcon(icon);
 
		}		
		return cell;
	 
	    }
 
	}

Open in new window

0
inditrozen
Asked:
inditrozen
  • 2
1 Solution
 
objectsCommented:
you don't, you add your listener to the table. Then calculate which cell was clicked using rowAtPoint(), and columnAtPoint()


0
 
inditrozenAuthor Commented:

I added listner to table , and now when I click on the cell new dialog will open.
Now this cell contains icon followed by text. And my requirement is ,when  user clicks on icon then only dialog message should open.and when he clicks on text ,nothing should happen.
How can listener identify difference between icon and text.?
Is it possible to get the cell value at perticular position?

Thanks in advance
0
 
objectsCommented:
yes, use the getValueAt() method of the table/model

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now