社区
Java SE
帖子详情
如何将一个控件的事件传递到它的父容器?
hebeiman
2004-08-20 10:07:26
内容 如题?
...全文
203
3
打赏
收藏
如何将一个控件的事件传递到它的父容器?
内容 如题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hebeiman
2004-08-20
打赏
举报
回复
比如受
jpanel 里面放一个 jbutton 鼠标经过的时候 如何吧JBUTTON 的事件传给JPANEL
我也想问一下 如屏蔽调个控间的所有事件
minghuitian
2004-08-20
打赏
举报
回复
什么意思?
sysmaster
2004-08-20
打赏
举报
回复
import java.awt.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
class test extends Frame implements MouseListener, ActionListener
{
Button b = new Button("button");
Panel p = new Panel();
public static void main(String args[])
{
new test().display();
}
public void display()
{
this.add(p);
this.setSize(100,100);
p.add(b);
b.addActionListener(this);
this.setVisible(true);
}
public void mouseClicked(MouseEvent e) {
if(e.getSource()==p)
{
System.out.println ("我是panel的");
}
}
public void mousePressed(MouseEvent parm1) {
// TODO: Add your code here
}
public void mouseReleased(MouseEvent parm1) {
// TODO: Add your code here
}
public void mouseEntered(MouseEvent parm1) {
// TODO: Add your code here
}
public void mouseExited(MouseEvent parm1) {
// TODO: Add your code here
}
public void actionPerformed(ActionEvent parm1) {
this.mouseClicked(new MouseEvent(p,1,1,1,1,1,1,true));
}
}
完美解决嵌套了HorizontalScrollView的
父
容器
不响应点击
事件
在安卓开发中,当
一个
clickable为true的ViewGroup
控件
包含了
一个
HorizontalScrollView的时候,点击HorizontalScrollView的位置既不能响应ViewGroup
控件
的点击
事件
,当然也不能使ViewGroup
控件
设置的selector背景变色,经典的用法是 Adapter View 的 item中包含
一个
HorizontalScrollView,ite...
事件
传递
机制
事件
传递
机制 1.基础认知 1.1
事件
分发的对象:点击
事件
(Touch
事件
)(什么是
事件
?) 定义:当用户触摸屏幕时,产生的点击
事件
(Touch
事件
)
事件
的类型: MotionEvent.ACTION_DOWN 按下View(
事件
的开始) MotionEvent.ACTION_UP 抬起View(与DOWN对应) MotionEvent.ACTION_MOVE 滑动View //MotionEvent.AVTION_CANCEL 结束
事件
(非人为结束) 一组
事件
的产生
Android
事件
传递
机制【Touch
事件
】
PS:只要onInterceptTouchEvent()返回false,而且目标
控件
View::onTouchEvent()返回true,那么
事件
的每
一个
动作(按下、移动、抬起等)会都会首先
传递
到onInterceptTouchEvent()中。PS:这里发现ViewGroup::onTouchEvent()也被调用了,原因是View::onTouchEvent()没有处理该
事件
(返回false),
事件
将交给
父
容器
处理。表示
事件
按下动作被处理,意味着
事件
的移动、抬起等后续动作将会传到此方法。
Android
事件
传递
1,
事件
传递
机制------源码 2,处理
事件
的冲突
事件
:Activity,View,ViewGroup,Key, 一,View的
事件
分发 结论: 1,
控件
的Listener
事件
触发顺序是先onTouch,再onClick 2,
控件
的onTouch返回true,将会onClick
事件
没有了----组织了
事件
的
传递
, 返回false,才会...
Android Touch
事件
传递
详解
一、前言 (1)在自定义view的时候经常会遇到
事件
拦截处理,比如在侧滑菜单的时候,我们希望在侧滑菜单里面有listview
控件
,但是我们希望既能左右滑动又能上下滑动,这个时候就需要对触摸的touch
事件
进行拦截。这个时候我们就需要明白android touch
事件
传递
机制, (2)以前很多时候比较模糊,也许是网上看到也有很多
事件
传递
的相关文章,但我看着头晕,解释不彻底,有的说得一半,总算不满足...
Java SE
62,621
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章