仓酷云

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

[学习教程] JAVA教程之Java软件开辟进修条记(二)

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:40:36 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

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

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

x
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。条记1.相干常识
1.1Java编程言语是从一入手下手就撑持软件当地化的第一个编程言语。
一切的字符串都利用Unicode

1.2要当地化的内容:
数字123,456.78英国;123.456,78德国
泉币
日期3/22/61美国;22.03.1961德国
March22,1961;英文22.Marz1961德语;1961年3月22日中文
工夫
文本
->图形用户界面(会合以下情况)

1.3Locale类
locale,复杂来讲是指言语和地区举行特别组合的一个标记
言语、国度和变体(language_country_variant)
预界说Locale对象
getDefault,getAvailableLoacles

1.4信息格局化
java.text.MessageFormat

2.资本包
2.1资本包的载进
ResourceBundlecurrentResources=ResourceBundle.getBundle("ProgramResources",currentLocal);

getBundle将想法加载上面这些类之一,直到加载乐成为止:
ProgramResources_language_country_variant
ProgramResources_language_country
ProgramResources_language
ProgramResources

不乐成,将用defaultloacal来取代currentLocal举行从头加载
假如还不乐成,将抛出MissingResourceException非常

getBundle找到一个类,将持续寻觅下一个类,创建起资本条理布局。
资本条理布局中的每一个条理纷歧建都要存在

2.2资本的检索
StringbuttonLabel=currentResources.getString("addButton");
某个资本在子类中没有检索到,将从创建起的资本条理布局中的父类中举行检索

2.3资本的分类
能够依据资本检索时分的参数来分类,也能够将分歧的资本放到分歧的资本包中

同时,资本对象能够寄存任何范例的对象,不但是字符串
ColorbackColor=(Color)currentResources.getObject("backColor");
对此的处置参考2.4.2


2.4资本包的创建
2.4.1创建本人的资本包类
必需承继于ResourceBundle,并要完成上面2个办法:
EnumerationgetKeys();
ObjecthandleGetObject(Stirngkey);
示例:
publicclassProgramResourcesextendsResourceBundle
//placegetKeysmethodincommonsuperclass
{
publicEnumerationgetKeys()
{
returnCollections.enumeration(Arrays.asList(keys));
}

privateString[]keys={"button","backColor","defaultSie"};
}

publicclassProgramResources_deextendsProgramResources
{
publicObjecthandleGetObject(Stirngkey)
{
if(key.equals("button"))
return"Rechnen";
elseif(key.equals("backColor"))
returnColor.black;
elseif(key.equals("defaultSie"))
returnnewdouble[]{210,297};
}
}

publicclassProgramResources_en_USextendsProgramResources
{
publicObjecthandleGetObject(Stirngkey)
{
if(key.equals("button"))
return"Compute";
elseif(key.equals("backColor"))
returnColor.blue;
elseif(key.equals("defaultSie"))
returnnewdouble[]{216,279};
}
}

为每一个资本包编写这类代码是相称啰嗦的。能够接纳以下办法。

2.4.2JDK供应的类
ListResourceBundle和PropertityResourceBundle

利用ListResourceBundle类,你能够将本人的一切资本放进一个对象数组中,然后它可以为你举行资本的查找:
publicclassProgramResources_deextendsListResourceBundle
{
publicObject[][]getContents(){returncontents;}

privatestaticfinalObject[][]contents
{
{"button","Rechnen"},
{"backColor",Color.black},
{"defaultSie",double[]{210,297}}
}
}

publicclassProgramResources_en_USextendsListResourceBundle
{
publicObject[][]getContents(){returncontents;}

privatestaticfinalObject[][]contents
{
{"button","Compute"},
{"backColor",Color.blue},
{"defaultSie",double[]{216,279}}
}
}

假如你的全体设置都是字符串型,那末你就能够利用更公布的PropertityResourceBundle机制:
将全体字符串放进一个属性文件,每行都是一对关头字/值对
button=Rechnen
backColor=black
defaultSie=210X297

button=Compute
backColor=blue
defaultSie=216X279
并按以下格局定名属性文件
ProgramStrings.properties
ProgramStrings_de.properties
ProgramStrings_en_US.properties
像上面如许装载资本
ResourceBundlebundle=ResourceBundle.getBundle("ProgramStrings",local);
getBundle找出类似的属性文件,并将它转换成PropertityResourceBundle。不必间接利用PropertityResourceBundle
不敷的地方:
必要在程序中对各个字符串举行剖析

最好的办理举措:
将字符串资本放进到属性文件,而且将ListResourceBundle用于那些不是字符串的资本对象。

注重事项:
转换:
用于存储属性的文件一般是7位的ASCII文件,必要用native2ascii依据来转换位Unicode字符
default:
ProgramStrings.properties中安排美式英语字符串和信息
以便在装载当地资本文件失利后装载进default资本都能看得懂

3.图形用户界面的当地化必要注重的事变
不要对标签Label举行判别
对资本包中分歧言语的字符串的长度要思索

4.我们的封装
基础类:XStringManager字符串办理器类,从资本文件中猎取字符串
扩大:其他用到字符串的中央
XResourceManager:用以猎取指定资本,包含:URL和对象等
XComponentBuilder:一致创立可视组件对象
XErrorManager:依据毛病代码猎取毛病信息



首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。
莫相离 该用户已被删除
沙发
 楼主| 发表于 2015-2-26 12:28:10 | 显示全部楼层
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-21 19:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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