for(int k=0;k< dtm.getRowCount();k++) //dtm is object of default table model
{
if(String.valueOf(dtm.getValueAt(k,1)).equalsIgnoreCase("Today") && check==0 )
{
cnt++;
JLabel jp=new JLabel();
panel.add(jp);
panel.setLayout(null);
if(cnt<=12)
{
jp.setBounds(j,500,100,100);
j=j+115;
jp.addMouseListener(this);
}
else
{
j=j-115;
jp.setBounds(j,400,100,100);
}
String b="<html><body text=#FDFA0B>"+String.valueOf(dtm.getValueAt(k,0))+"'s Birthday";
jp.setText(b);
jp.setFont(new java.awt.Font("comicbd",Font.ITALIC+Font.BOLD, 14));
}
}
mouselister仅适用于最后放置的Label ...
我想对所有标签应用鼠标侦听器,我该怎么做..
请帮我 ....
最佳答案
没有SSCCE,我可以告诉您要在3种情况下添加侦听器:String.valueOf(dtm.getValueAt(k,1)).equalsIgnoreCase("Today")
check == 0
和if(cnt<=12)
其他JLabel
(未通过这些条件)尚未分配您的侦听器。
确保您单击的标签正确。
或在创建jp.addMouseListener(this);
之后立即移动JLabel
(如果要向所有JLabel
添加侦听器)。