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

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

16 个解决方案

#1


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

#2


引用 1 楼 healer_kx 的回复:
还要手机触摸屏。。。 。。。
这个更多了解Mobile的SDK吧。


在校的学生,自己做点小东西,确实很多东西都还没经验,很多东西都还在自学中,
没有头绪啊,确实不知道该从哪入手

#3


观望,同学加油哈

#4


引用 3 楼 jackyren007 的回复:
观望,同学加油哈


谢谢帮忙顶贴,不沉就有希望

#5


LZ真有前途,我不晓得,帮你顶顶,应该也和J2ME,塞班,windows mobile有关系吧

#6


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

#7


菜鸟前来学习~

#8


引用 6 楼 truediego 的回复:
把vb的sendkeys封装起来,做成dll,然后用jni做


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

#9


ding..........................

#10


不懂,但是希望高手参与,帮楼主顶一下!

#11


有意思的想法,关注

#12


引用 8 楼 dolphin171 的回复:
引用 6 楼 truediego 的回复:

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


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


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

但是,如果你想往pc的自己的程序里面写字符串,还是建议直接得到要写入的控件,然后直接setText

#13


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

#14


引用 13 楼 truediego 的回复:
突然又想到一个办法
通过clipboard中转一下,然后就不需要发中文到application了
你可以试试看,记得把结果发上来大家分享一下哦


非常谢谢您,您的方案我们正在考虑,等项目完成后我会把结果发上来,不过由于缺乏经验和相关知识,可能要等一段时间了。

#15


由于不熟悉相关背景知识,可能想法比较小白,不要见笑:不能直接传字符过去吗?

#16


观望,同学加油哈

#1


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

#2


引用 1 楼 healer_kx 的回复:
还要手机触摸屏。。。 。。。
这个更多了解Mobile的SDK吧。


在校的学生,自己做点小东西,确实很多东西都还没经验,很多东西都还在自学中,
没有头绪啊,确实不知道该从哪入手

#3


观望,同学加油哈

#4


引用 3 楼 jackyren007 的回复:
观望,同学加油哈


谢谢帮忙顶贴,不沉就有希望

#5


LZ真有前途,我不晓得,帮你顶顶,应该也和J2ME,塞班,windows mobile有关系吧

#6


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

#7


菜鸟前来学习~

#8


引用 6 楼 truediego 的回复:
把vb的sendkeys封装起来,做成dll,然后用jni做


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

#9


ding..........................

#10


不懂,但是希望高手参与,帮楼主顶一下!

#11


有意思的想法,关注

#12


引用 8 楼 dolphin171 的回复:
引用 6 楼 truediego 的回复:

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


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


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

但是,如果你想往pc的自己的程序里面写字符串,还是建议直接得到要写入的控件,然后直接setText

#13


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

#14


引用 13 楼 truediego 的回复:
突然又想到一个办法
通过clipboard中转一下,然后就不需要发中文到application了
你可以试试看,记得把结果发上来大家分享一下哦


非常谢谢您,您的方案我们正在考虑,等项目完成后我会把结果发上来,不过由于缺乏经验和相关知识,可能要等一段时间了。

#15


由于不熟悉相关背景知识,可能想法比较小白,不要见笑:不能直接传字符过去吗?

#16


观望,同学加油哈