java应用程序中怎么一步到位地插入中文(不用输入法实现)

dolphin171 2010-03-14 11:18:31
在Java应用程序比如记事本或者word中,我们可以通过java.awt.robot类中的方法来模拟键盘操作,通过把输入法切换成中文输入,然后使用keyevent_VK*来输入中文。这种方法是可以在应用程序中输入中文的。
不过我现在的问题是:能否不使用输入法程序,一步到位的插入中文,比如像VB中直接使用sendkey("中文")来插入中文。
问题的实际背景是在手机与PC交互的一个项目中,从手机触屏手写输入了汉字,然后想把汉字插入到PC的应用程序之中,由于使用输入法,要把汉字先解析成输入法对应的键盘字符序列。比如在采用拼音输入的情况下。汉字“中”要拆解成键盘字符序列
“z h o n g”,然后再调用keypress()方法依次输入。这样太过于繁琐了。
有没有直接可以使用的API接口,如果没有的话,自己来编写底层代码的话,那相当于自己做一个逆向输入法程序,依照自己目前的能力和实际情况,那都相当不现实了。

...全文
319 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
awcx8888 2010-03-16
  • 打赏
  • 举报
回复
观望,同学加油哈
qqbz 2010-03-16
  • 打赏
  • 举报
回复
由于不熟悉相关背景知识,可能想法比较小白,不要见笑:不能直接传字符过去吗?
dolphin171 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 truediego 的回复:]

突然又想到一个办法
通过clipboard中转一下,然后就不需要发中文到application了
你可以试试看,记得把结果发上来大家分享一下哦
[/Quote]

非常谢谢您,您的方案我们正在考虑,等项目完成后我会把结果发上来,不过由于缺乏经验和相关知识,可能要等一段时间了。
truediego 2010-03-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dolphin171 的回复:]
引用 6 楼 truediego 的回复:

把vb的sendkeys封装起来,做成dll,然后用jni做


感谢您提供的思路,自己没学习用过dll,刚才上网查了下资料,有了个初步的了解,好像可行。
但是对于这种方案的可行性自己没法做出准确的评估,项目的时间不多了。您能帮我对这种方案
的可行性做一个评估么?
[/Quote]

你如果是想往pc的某个现有应用程序(例如notepad)里面写入字符串,那是可行的

但是,如果你想往pc的自己的程序里面写字符串,还是建议直接得到要写入的控件,然后直接setText
foreversun7 2010-03-15
  • 打赏
  • 举报
回复
有意思的想法,关注
重返春季 2010-03-15
  • 打赏
  • 举报
回复
不懂,但是希望高手参与,帮楼主顶一下!
truediego 2010-03-15
  • 打赏
  • 举报
回复
突然又想到一个办法
通过clipboard中转一下,然后就不需要发中文到application了
你可以试试看,记得把结果发上来大家分享一下哦
dolphin171 2010-03-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 healer_kx 的回复:]

还要手机触摸屏。。。 。。。
这个更多了解Mobile的SDK吧。
[/Quote]

在校的学生,自己做点小东西,确实很多东西都还没经验,很多东西都还在自学中,
没有头绪啊,确实不知道该从哪入手
healer_kx 2010-03-14
  • 打赏
  • 举报
回复
还要手机触摸屏。。。 。。。
这个更多了解Mobile的SDK吧。
lryxxh 2010-03-14
  • 打赏
  • 举报
回复
ding..........................
dolphin171 2010-03-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 truediego 的回复:]

把vb的sendkeys封装起来,做成dll,然后用jni做
[/Quote]

感谢您提供的思路,自己没学习用过dll,刚才上网查了下资料,有了个初步的了解,好像可行。
但是对于这种方案的可行性自己没法做出准确的评估,项目的时间不多了。您能帮我对这种方案
的可行性做一个评估么?
jerry1900 2010-03-14
  • 打赏
  • 举报
回复
菜鸟前来学习~
truediego 2010-03-14
  • 打赏
  • 举报
回复
把vb的sendkeys封装起来,做成dll,然后用jni做
24K純帥 2010-03-14
  • 打赏
  • 举报
回复
LZ真有前途,我不晓得,帮你顶顶,应该也和J2ME,塞班,windows mobile有关系吧
dolphin171 2010-03-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jackyren007 的回复:]

观望,同学加油哈
[/Quote]

谢谢帮忙顶贴,不沉就有希望
jackyren007 2010-03-14
  • 打赏
  • 举报
回复
观望,同学加油哈

62,615

社区成员

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

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