JAVA:如何验证点击的项目是否与之前点击的项目不同?

时间:2016-03-17 18:23:34

标签: java

我有多个JLabel,所有这些都有一个共同的MouseListener()。 现在在MouseClicked()上,即使我想验证当前单击的JLabel是否与前一个JLabel不同,我该怎么做? 我知道我可以简单地做一些类似" if(e.getSource()!= from label_1)&#34 ;,但由于标签不会被预先创建,而是每次从另一个类新创建,我需要一种不基于已知变量的验证方法,但实际检查当前源是否与前一个源不同。 这是mouseClicked方法

public void mouseClicked(MouseEvent e) {
    mapPanel = new JPanel();
    JLabel temp = (JLabel) e.getSource();

    if (!clicked) {

        mapPanel.setSize(new Dimension(500, 500));
        setSize(new Dimension(500, 650));
        add(mapPanel);
        System.out.println(clicked);
        clicked = true;
        temp.removeMouseListener(this);
        mapPanel.setBackground(Color.RED);
    }
    // if(temp.pr)
    else {
        System.out.println(clicked);
        remove(mapPanel);
        temp.addMouseListener(this);
        setSize(new Dimension(500, 150));
        mapPanel.setBackground(Color.BLUE);
        clicked = false;
    }
}

1 个答案:

答案 0 :(得分:0)

好吧,既然我的评论解决了你的问题,我会在这里重新发布它作为答案。 ☺

将以前的来源存储在字段中,并将e.getSource()与之比较。然后将e.getSource()存储到同一变量中以准备下一次点击。