关于在Form中捕获按键事件

xIzam 2005-02-24 09:03:58
form从screen继承,screen从displayable继承,
displayable中有保护方法:void callKeyReleased(int keyCode)
我从form继承后覆盖callKeyReleased方法但是却捕获不到按键事件这是为什么呢?(该方法在api文档中没有说明)

canvas从displayable继承后覆盖了callKeyReleased却可以捕获按键事件。。。

请各位高手指点。
...全文
163 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xIzam 2005-02-25
  • 打赏
  • 举报
回复
谢谢上面大家的意见,结贴
贝壳鱼 2005-02-25
  • 打赏
  • 举报
回复
呵呵,做电子书,文字不多,用高级API的Form简单一些。
如果文字多,那就用Canvas做,,可以响应你其他的键盘事件
不过你需要计算一屏幕能显示多少汉字,麻烦。
网络咖啡 2005-02-25
  • 打赏
  • 举报
回复
如果作者实在想捕获按键事件,可以自己用Canvas绘制一个Form
crow_soup 2005-02-25
  • 打赏
  • 举报
回复
你如果要实现看电子书,如果你不用其他控件只显示文字的话,我强烈建议你们自己用Canvas画,Form 反而不方便,
crow_soup 2005-02-25
  • 打赏
  • 举报
回复
to xIzam(糖糖) : 我写的不是 private 哈,我写的是 package private 哈,没有任何访问表示的正式的叫法就是 “package private”,意思是只能同一个 package 里面的类可以访问,其他类不能访问,并且不能继承,你可以去查下书
xIzam 2005-02-25
  • 打赏
  • 举报
回复
to sy5591(呵呵★我爱王培) :我要实现很简单,就是手机电子书,按下向下按钮的时候,捕获事件,并从资源文件中读取一屏幕的文字显示,再按一次,继续读下一屏幕的文字显示(代替当前的文字,滚动条不滚动),如果一次全部读出来显示占用内存太大并且反应很慢
dongcenphoenix 2005-02-25
  • 打赏
  • 举报
回复
mark
xIzam 2005-02-25
  • 打赏
  • 举报
回复
to crow_soup() :callKeyReleased()不是private方法,只是没有申明成私有,共有,保护中的任何一种,这种没有申明的情况我记得是包内有效,不知道其他包的继承可不可以覆盖

to k7sem(郁闷的时候喝点水) :看源代码就看到了
sy5591 2005-02-25
  • 打赏
  • 举报
回复
记得很早以前做FORM的时候,是不能有按键事件的
也没有这个必要啊
楼主要做什么 看看 有没有别的方法没有啊!
cuilichen 2005-02-25
  • 打赏
  • 举报
回复
楼主的想法很有创意。呵呵
贝壳鱼 2005-02-25
  • 打赏
  • 举报
回复
呵呵,我都没找到callKeyReleased()
crow_soup 2005-02-25
  • 打赏
  • 举报
回复
callKeyReleased() 函数应该不是拿给你调的,它甚至都不是 protected 方法,Displayable 的 callKeyReleased() callKeyPressed() callKeyRepeated() 之类的方法都是 package private 的方法,当然也没有文档,我不明白楼主是怎么继承下来的,只是 Form 类的 callKeyReleased() callKeyPressed() 方法是用来上下卷动整个 Form 以及 Form 里面的元素的,你如果覆盖了这些函数,Form 的某些功能就不能正常使用了,
还是按照常理出牌吧,文档里面没有写的都是不能用的,
lzhliang 2005-02-24
  • 打赏
  • 举报
回复
试一下用两个Thread来跑,。

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧