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添加侦听器)。

10-05 19:13