仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 470|回复: 9
打印 上一主题 下一主题

[学习教程] 发布一篇在 Java 开辟过程当中撑持双向字符集言语(BiDi)

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。
BiDi是甚么
W3C对双向字符集言语(即BiDi)举行了以下的界说:
双向字符集言语一般是指笔墨能够从左到右(LTR)和从右到左(RTL)双向誊写的笔墨。比方,阿拉伯和希伯来言语的笔墨誊写一般是从右到左,可是个中的别的字符集(比方拉丁笔墨)仍然坚持从左到右的格局。固然别的的言语笔墨,比方英文,假如包括阿拉伯大概希伯来笔墨择要的话,也能够是双向誊写的。一般将主偏向称为全局偏向。
关于先容一种的新的常识大概手艺,笔者一般习气于从“what、why、who、how”几个方面来举行报告。即BiDi是甚么,这在本节中作了先容。为何必要撑持BiDi,这会鄙人一节中先容。随后则侧重于先容作为一位Java软件开辟职员在撑持BiDi的时分要思索哪些成绩,怎样做才干完成BiDi撑持,和一些罕见的成绩息争决技能。
为何必要BiDi撑持
关于利用双向字符集区域的人来讲,关于本国笔墨和别的字符集笔墨,比方和英语混排的情形,在纸面上誊写将是一件必要有计划技能的事变。以下所示:
CIBARAenglishCIBARA
CIBARA代表阿拉伯字符,english代表英语字符。誊写者必要从右到左誊写字符“A”“R”“A”“B”“I”“C”,在纸面就酿成CIBARA。随后要誊写英笔墨符english,这段字符要从左到右显现,这就必要誊写者要先计划符合的空缺来誊写笔墨,然后持续上面的阿拉伯字符的显现。不然要末空间不敷,写不下那末多笔墨,要末留下一段空缺影响文档的全体布局。
盘算机的呈现对双向字符集的录进应当是一年夜福音,下面所述的空缺计划将不再是成绩。当盘算机切换到BiDi笔墨的录进体例后,关于一样平常的双向字符集字符,比方阿拉伯笔墨,显现将遵守全局偏向从右到左(RTL)。当必要输出英笔墨符的时分,盘算机将主动处置英文字符的显现,将先输出的字符主动向右边排,后输出的字符显现在后面字符的右边,将先输进的笔墨顶到了左边,而录进光标将一向停止在英文录进的最右边,顺次处置随后的笔墨录进,并显现。如许录进者就不必体贴这段英文笔墨将占有多年夜空间,并且英文内容坚持了从左到右(LTR)的偏向。当用户必要输出阿拉伯笔墨的时分,阿拉伯字符将主动安排到英文内容的左边,录进光标也跟从到了阿拉伯字符的左边,入手下手一般的从右到左(RTL)的录进,并显现。
盘算机软件要在利用双向字符集的区域(次要是中东区域)发卖、利用,假如没有BiDi的撑持,将是一件不成能的事变。对BiDi的撑持也是软件国际化(globalization)尺度重要的构成部分,没有BiDi的撑持就不克不及说对软件完成了国际化的撑持。天下上各年夜软件公司都把对BiDi的撑持作为产物可否公布的一个主要审核目标。
现实上对BiDi的撑持,要思索的内容十分多,从底层BiDi算法(比方ICU4J)、编码(Unicode)、存储、输出法、直至开辟工具的撑持。但是作为一位开辟职员(本文次要针对Java开辟职员),实在不必要懂得太多底层完成的细节。针对分歧的软件图形库,只必要很少的代码层面的处置就能够完成对BiDi的撑持。假如读者想要懂得更多BiDi层面的常识、术语,比方logicalorder、visualorder等等能够参照developeWorkss大概W3C上的别的文章。
Java1.5对BiDi的撑持
JavaSDK分歧的版本对BiDi的撑持才能也是纷歧样的。本文的示例和代码片断次要是针对JDK1.5的版本。
Java供应了AWT和Swing两种图形库,这两种图形库对BiDi的撑持是纷歧样的。软件对BiDi展现层面的撑持包括全部软件界面的结构从LTR到RTL的变化,和控件的布局。比方ComboBox的下拉箭头从右边移到右侧,控件内里的笔墨的结构转换,笔墨的录进等等。
AWT
AWT(AbstractWindowingToolkit),中文译为笼统窗口工具包,是Java供应的用来构建和设置Java图形用户界面的基础工具。这个工具包供应了一套与当地图形界面举行交互的接口。AWT中的图形函数与操纵体系所供应的图形函数之间有着逐一对应的干系。当我们使用AWT来构件图形用户界面的时分,实践上是在使用操纵体系所供应的图形库。关于BiDi来说,AWT组件内里的笔墨结构实践上依附于底层操纵体系。别的,AWT组件对BiDi请求的控件结构也有诸多缺点,因而Java软件开辟职员假如要开辟撑持BiDi的使用程序,就不要接纳AWT。
<p>
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。
萌萌妈妈 该用户已被删除
沙发
 楼主| 发表于 2015-1-20 15:57:07 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
小妖女 该用户已被删除
板凳
发表于 2015-1-23 18:09:48 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
爱飞 该用户已被删除
地板
发表于 2015-1-31 18:39:27 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-5 14:36:17 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
飘灵儿 该用户已被删除
6#
发表于 2015-3-2 20:48:45 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
7#
发表于 2015-3-11 06:09:44 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
透明 该用户已被删除
8#
发表于 2015-3-17 22:09:13 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
小女巫 该用户已被删除
9#
发表于 2015-3-17 22:09:16 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
谁可相欹 该用户已被删除
10#
发表于 2015-3-25 03:30:43 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 11:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表