Ubuntu18.0下javafx11+程序无法输入中文的解决方案

本文转载自:

[客户端开发] Ubuntu18.0下javafx11+程序无法输入中文的解决方案

 

前言

这个问题一直在出现,一直在发愁该怎么搞。。

网络上面有很多这样的问题,例如:

屏幕截图_241.png

 

诸如此类的。。。

我一直纳闷,只看到问题没看到解决方案。。。

 

然后直到有一个人问为什么没办法输入日文时候,我才发现了一些疑问:

 

https://stackoverflow.com/questions/58763342/how-to-input-japanese-to-textarea-in-javafx-on-linux

 

下面是截图:

屏幕截图_242.png

 

然后这位兄弟找到了解决方案:

屏幕截图_243.png

 

好了,我们追踪下去,可以发现javafx在ubuntu18.04下面是有bug的,看看怎么写:

 

屏幕截图_244.png

 

---原来在ubuntu18.04下面用的gtk版本是2,如果是3的话会有未知错误---说来说去还真的是runtime的锅了。

 

好了,我们试试在程序上面添加:

  java -Djdk.gtk.version=2 ...

试试:

屏幕截图_245.png

 

备注:你可能会看到一行红字:

Failed to load module "canberra-gtk-module"

 

 

好了,没关系,运行:

sudo apt install libcanberra-gtk-module

然后安装成功:

屏幕截图_246.png

 

然后,你会看到--分别测试jfoenix文字输入控件以及自带的textfied控件,都能正常输入。

屏幕截图_250.png

 

屏幕截图_251.png

 

总结

针对ubuntu18.0.4来说,运行程序---打包时候请指定默认的gtk version=2 ---

 

-Djdk.gtk.version=2

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值