WEB开发网
开发学院软件开发Java 在 Java 开发过程中支持双向字符集语言(BiDi) 阅读

在 Java 开发过程中支持双向字符集语言(BiDi)

 2010-03-15 00:00:00 来源:WEB开发网   
核心提示: 通过方法 applyComponentOrientation,Swing 控件以及其包含的子控件的 BiDi 设置,在 Java 开发过程中支持双向字符集语言(BiDi)(4),都可以根据计算机当前的区域设置来自动调整,如上一段代码所示,是没有翻转成为从右到左 RTL 方向的,开发人员可以采用下

通过方法 applyComponentOrientation,Swing 控件以及其包含的子控件的 BiDi 设置,都可以根据计算机当前的区域设置来自动调整。如上一段代码所示,如果计算机当前的区域是在英语区域,则应用程序启动以后,按照正常的英语应用程序显示和处理文字。如果计算机当前的区域是在双向字符集区域,程序启动以后,程序的 UI 布局 、控件的文字方向,以及录入光标的位置等等就会变成 BiDi 地区的使用方式。

图 1. 应用程序 BiDi 示例
在 Java 开发过程中支持双向字符集语言(BiDi)

注:显示非英文字符需要相应的文字资源以及相应的国际化支持,这些不在本文的介绍范围之内,读者请参阅其它资料查看这方面的内容。

虽然通过上面的方法可以打开对 BiDi 的支持,但是 Swing 中的一些控件对 BiDi 的支持是有缺陷的,这需要开发人员做一些额外的处理才能完整地支持 BiDi。下面笔者将一一介绍这些有 BiDi 支持缺陷的 Swing 控件以及其对应的解决办法。

JFrame

在应用了 applyComponentOrientation 以后,JFrame 控件的标题栏如图 1 所示,是没有翻转成为从右到左 RTL 方向的。开发人员可以采用下面这段示例程序来使 JFrame 的标题栏变为从右到左 RTL 方向。

if (!ComponentOrientation.getOrientation(Locale.getDefault()).isLeftToRight()) { 
  JFrame.setDefaultLookAndFeelDecorated(true); 
} 

应用这段代码以后,图 1 的应用程序标题栏将会变成如图 2 所示:

图 2. JFrame 标题栏从右到左显示
在 Java 开发过程中支持双向字符集语言(BiDi)

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Java 开发 过程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接