我的项目有问题。我的问题是我不知道如何获取已由MouseListener激活的标签的名称?

MouseListener可以工作,现在我只需要获取由mouselistener激活的标签的名称。


label1 = new JLabel("FirstLabel");
label1.addMouseListener(ml);
add(label1);

label2 = new JLabel("SecondLabel");
label2.addMouseListener(ml);
add(label2);

MouseListener ml = new MouseListener() {
            @Override
            public void mouseClicked(MouseEvent e) {
                otherLabel = // code to get labelname ( label1 or label2)

            }

            @Override
            public void mouseEntered(MouseEvent e) {
            }

            @Override
            public void mouseExited(MouseEvent e) {
            }

            @Override
            public void mousePressed(MouseEvent e) {
            }

            @Override
            public void mouseReleased(MouseEvent e) {
            }
        };

最佳答案

这是您要找的东西(未经测试)吗?

public void mouseClicked(MouseEvent e) {
    JLabel label = (JLabel)e.getSource();
    String name = label.getText();
}

资料来源:
  • http://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html#getSource%28%29
  • http://docs.oracle.com/javase/7/docs/api/java/awt/Component.html#getName%28%29
  • 关于java - 激活MouseListener的obj的Java getName,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21287661/

    10-10 10:17