有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将多个JLables合并到一个addMouseListener中

我得到了一个3JLable,我在l3中添加了一个功能,当单击时,将JLabel文本设置为数组中的值存储(ans.get(0,0))

JLabel l1 = new JLabel("Obtener x1");

JLabel l2 = new JLabel("Obtener x2");

JLabel l3 = new JLabel("Obtener x3");
l3.setBounds(30, 180, 100, 25);
l3.addMouseListener(new MouseListener() {

  @Override
  public void mouseClicked(MouseEvent e) 
  {
  l3.setText("X1 = "+ ans.get(0, 0));
  }
  @Override
  public void mouseEntered(MouseEvent e) {
  //MouseEntered, MousePressed, MouseRelease overriden methods....

这里的问题是,是否可以将其余的JLabell1l2)实现为一个addMouseListener(属于JLabel{}的同一个鼠标侦听器)


共 (1) 个答案

  1. # 1 楼答案

    MouseListener创建一个局部变量,并将实例分配给它。然后将MouseListener添加到每个JLable

    JLabel l1 = new JLabel("Obtener x1");
    JLabel l2 = new JLabel("Obtener x2");
    JLabel l3 = new JLabel("Obtener x3");
    
    MouseListener ml = new MouseListener() {...}
    
    l1.addMouseListener(ml);
    l2.addMouseListener(ml);
    l3.addMouseListener(ml);
    

    然后每个JLable将共享相同的MouseListener对象