当在子组件上右键单击时,Frame上不能监听到鼠标事件。怎么办?

解决方案 »

  1.   

    问题进一步描述:
    就是JFrame怎样捕捉到它内部的子组件的鼠标右键事件?
      

  2.   

    给每个内部组件加上事件监听器,这个监听器可以是他们的JFrame容器
      

  3.   

    ActionListener l1 = new ActionListener(){
    加快捷键的,鼠标不知道可不可以.
    public void actionPerformed(ActionEvent evt){
    tf.setText("F1 somewhere in main window");
    }
    };
    f.getRootPane().registerKeyboardAction(l1,KeyStroke.getKeyStroke(KeyEvent.VK_F1,0,false),
    JComponent.WHEN_IN_FOCUSED_WINDOW);
    lowerPane.registerKeyboardAction(l2,KeyStroke.getKeyStroke(KeyEvent.VK_A,0,true),
    JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
    tf.registerKeyboardAction(l4,KeyStroke.getKeyStroke(KeyEvent.VK_F1,0,false),
    JComponent.WHEN_FOCUSED);