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

 

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页