【问题标题】:Listener for button press wherever in the frame侦听器在框架中的任何位置按下按钮
【发布时间】:2015-11-13 16:37:04
【问题描述】:

我有一个框架,它必须听按钮按下任何选定的元素。是否可以为此框架创建一个全局监听器,或者我必须为我拥有的每个元素编写监听器?

【问题讨论】:

  • 你想用按钮做什么?我这样听是没有意义的。
  • 你有创建按钮的引用吗?

标签: java swing listener


【解决方案1】:

编写一个 MouseListener/MouseAdapter 并与您想要响应的所有元素共享同一个实例。

这个其他问题会给你一个线索: Java MouseListener

【讨论】:

    【解决方案2】:

    我不确定这是你想要的。 你可以让这些按钮使用相同的动作监听器,

    //set up some buttons...
    bt1 = new JButton("BUTTON1");
    bt2 = new JButton("BUTTON2");
    //use the same actionListener
    bt1.addActionListener(someActionListener);
    bt2.addActionListener(someActionListener);
    

    然后在 actionPerformed 方法中,您可以检查按下了哪个按钮。

    public void actionPerformed(ActionEvent e){
        JButton pressedButton = (JButton)e.getSource();
    
    //check which button was pressed
    
        if(pressedButton ==bt1)
            System.out.println("Button 1 do something");
        else if(pressedButton ==bt2)
            System.out.println("Button 2 do something");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-21
      • 2013-09-13
      • 1970-01-01
      • 2013-05-18
      • 2017-08-24
      • 1970-01-01
      • 2011-08-21
      • 2015-07-31
      相关资源
      最近更新 更多