JAVA SWT问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 03:50:38
两个问题
a.我有一个jpanel,上面有一些组件,我给这个jpanel添加了mouseListener,当mouseEntered和mouseExited的时候都会触发事件(鼠标在panel内时panel高亮)。但是当我给该panel上的一个组件addTooltip之后,当鼠标移进这个组件的时候就会自动触发panel的mouseExited事件(该组件是嵌在panel内的),请问如何解决。

b.ActionEvent通过e.getSource()来获取触发这个事件的组件,MouseEvent用e.getSource()却行不通。请问当触发MouseEvent时如何获取触发该事件的组件。

public void mouseExited(MouseEvent e){
if(panel.getBounds().contains(e.getPoint())return;
else //取消高亮
}
----------------以上思路可能可以解决你的a问题

----------------不理解你的b的意思,

a.你的mouseExited用x,y的位置写吧。
b。MouseEvent是鼠标的动作事件,已经有mouse_clicked,mouse_entered等动作了,鼠标移动组件上或单击组件,是用组件的事件方法。所以MouseEvent没有e.getSource()这个方法。

你的组建只要包括在窗口里 鼠标总得离开窗口把?自动就出发了 窗口的标题栏也是出发区域