|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net比java好。成绩JBuilder中的光标成绩由来已久,从JB4(我所用过的第一个JB版本,另:本文中JB乃JBuilder的缩写)到最新的JBX,但凡代码中有粗体大概斜体字的行,光标老是呈现在毛病的地位上,给编成带来诸多方便,影响程序员的心境和效力。初期的办理举措次要是修正JBuilder自己的代码显现计划,大概变动字体,大概将一切的粗体和斜体及粗斜体改成一般字体。固然这些办法能够基础办理光标地位不合错误的成绩,但都在必定水平上影响的视觉效果大概下降了JB的代码语法标亮功效,比方在JBX中子类假如掩盖了的父类中界说的某个办法,那末在子类中该办法名是斜体的。厥后跟着JB的开展提高,受此成绩影响的人愈来愈多,愈来愈让人以为不爽,因而有妙手对此成绩追根溯源,本来成绩真实的本源在于JRE而非JB。在JRE中有些针对分歧国度区域和言语而界说的字体属性文件(<jre_dir>/lib/font.properties*),个中和我国有关的font.properties.zh文件的内容有些不当,从而招致了上述成绩。这同时也注释了为何其他国度及港台区域的JB用户几近没有呈现过此类成绩(除非她的操纵体系中地点地区选在中国年夜陆)。但为何只要JB呈现了这类成绩,而其他运转于JRE的Java程序没有此类成绩呢?次要是其他程序很罕用到粗体和斜体,别的和所用的字体也有干系,只要利用了font.properties.zh中所列的组合字体(ComponentFont)的粗体和斜体时才会呈现光标错位。网上之前呈现过对这个文件的修正计划,比方增加NEED_CONVERTED和修正ExclusionRanges,也不克不及从基本上办理该成绩。
因为只要中国年夜陆地区的用户碰着此类成绩,因而其他地区对应的font.properties*文件应当没有成绩。经由和font.properties文件的对照,能够看出font.properties.zh中事实那里出了成绩――组合字体映照部分(ComponentFontMappings)中关于每种字体的粗体和斜体,都映照到了惯例字体,而没有映照到响应的粗体和斜体,由此招致了JB等使用程序在对粗体大概斜体字符所占宽度盘算时,是依照惯例字体的宽度举行的,进而招致了光标的显现地位和实践地位不符。如dialoginput.bold.0,对应于字体为CourierNew,粗体英笔墨母,准确的映照应当是dialoginput.bold.0=CourierNewBold,ANSI_CHARSET,而在font.properties.zh中映照为dialoginput.bold.0=CourierNew,ANSI_CHARSET(注:没有bold)。
针对这类情形,能够对font.properties.zh举行修正,将一切不准确的映照分离加上bold,Italic大概boldItalic。如许JB和其他Java程序就不会有光标错位的成绩了。
还应注重的是,真正与中国年夜海洋区对应的font.properties文件名应为font.properties.zh_CN,因为JRE中默许没有这个文件,因而会利用局限最靠近的文件font.properties.zh。以是假如<jre_dir>/lib/下有font.properties.zh_CN,则应优先修正该文件。别的,font.properties.zh.98文件多是Windows9X体系中所利用的,因而假如操纵体系为Windows9X,应修正该文件。
附修正后的font.properties.zh文件内容:
#@(#)font.properties.zh1.1002/03/07
#
#Copyright2002SunMicrosystems,Inc.Allrightsreserved.
#ModifiedbyYueFeng.11/24/2003
#ComponentFontMappings
#
dialog.plain.0=Arial,ANSI_CHARSET
dialog.plain.1=u5b8bu4f53,GB2312_CHARSET
dialog.plain.2=WingDings,SYMBOL_CHARSET
dialog.plain.3=Symbol,SYMBOL_CHARSET
dialog.bold.0=ArialBold,ANSI_CHARSET
dialog.bold.1=u5b8bu4f53,GB2312_CHARSET
dialog.bold.2=WingDings,SYMBOL_CHARSET
dialog.bold.3=Symbol,SYMBOL_CHARSET
dialog.italic.0=ArialItalic,ANSI_CHARSET
dialog.italic.1=u5b8bu4f53,GB2312_CHARSET
dialog.italic.2=WingDings,SYMBOL_CHARSET
dialog.italic.3=Symbol,SYMBOL_CHARSET
dialog.bolditalic.0=ArialBoldItalic,ANSI_CHARSET
dialog.bolditalic.1=u5b8bu4f53,GB2312_CHARSET
dialog.bolditalic.2=WingDings,SYMBOL_CHARSET
dialog.bolditalic.3=Symbol,SYMBOL_CHARSET
dialoginput.0=CourierNew,ANSI_CHARSET
dialoginput.1=u5b8bu4f53,GB2312_CHARSET
dialoginput.2=WingDings,SYMBOL_CHARSET
dialoginput.3=Symbol,SYMBOL_CHARSET
dialoginput.plain.0=CourierNew,ANSI_CHARSET
dialoginput.plain.1=u5b8bu4f53,GB2312_CHARSET
dialoginput.plain.2=WingDings,SYMBOL_CHARSET
dialoginput.plain.3=Symbol,SYMBOL_CHARSET
dialoginput.bold.0=CourierNewBold,ANSI_CHARSET
dialoginput.bold.1=u5b8bu4f53,GB2312_CHARSET
dialoginput.bold.2=WingDings,SYMBOL_CHARSET
dialoginput.bold.3=Symbol,SYMBOL_CHARSET
dialoginput.italic.0=CourierNewItalic,ANSI_CHARSET
dialoginput.italic.1=u5b8bu4f53,GB2312_CHARSET
dialoginput.italic.2=WingDings,SYMBOL_CHARSET
dialoginput.italic.3=Symbol,SYMBOL_CHARSET
dialoginput.bolditalic.0=CourierNewBoldItalic,ANSI_CHARSET
dialoginput.bolditalic.1=u5b8bu4f53,GB2312_CHARSET
dialoginput.bolditalic.2=WingDings,SYMBOL_CHARSET
dialoginput.bolditalic.3=Symbol,SYMBOL_CHARSET
serif.plain.0=TimesNewRoman,ANSI_CHARSET
serif.plain.1=u5b8bu4f53,GB2312_CHARSET
serif.plain.2=WingDings,SYMBOL_CHARSET
serif.plain.3=Symbol,SYMBOL_CHARSET
serif.bold.0=TimesNewRomanBold,ANSI_CHARSET
serif.bold.1=u5b8bu4f53,GB2312_CHARSET
serif.bold.2=WingDings,SYMBOL_CHARSET
serif.bold.3=Symbol,SYMBOL_CHARSET
serif.italic.0=TimesNewRomanItalic,ANSI_CHARSET
serif.italic.1=u5b8bu4f53,GB2312_CHARSET
serif.italic.2=WingDings,SYMBOL_CHARSET
serif.italic.3=Symbol,SYMBOL_CHARSET
serif.bolditalic.0=TimesNewRomanBoldItalic,ANSI_CHARSET
serif.bolditalic.1=u5b8bu4f53,GB2312_CHARSET
serif.bolditalic.2=WingDings,SYMBOL_CHARSET
serif.bolditalic.3=Symbol,SYMBOL_CHARSET
sansserif.plain.0=Arial,ANSI_CHARSET
sansserif.plain.1=u5b8bu4f53,GB2312_CHARSET
sansserif.plain.2=WingDings,SYMBOL_CHARSET
sansserif.plain.3=Symbol,SYMBOL_CHARSET
sansserif.bold.0=ArialBold,ANSI_CHARSET
sansserif.bold.1=u5b8bu4f53,GB2312_CHARSET
sansserif.bold.2=WingDings,SYMBOL_CHARSET
sansserif.bold.3=Symbol,SYMBOL_CHARSET
sansserif.italic.0=ArialItalic,ANSI_CHARSET
sansserif.italic.1=u5b8bu4f53,GB2312_CHARSET
sansserif.italic.2=WingDings,SYMBOL_CHARSET
sansserif.italic.3=Symbol,SYMBOL_CHARSET
sansserif.bolditalic.0=ArialBoldItalic,ANSI_CHARSET
sansserif.bolditalic.1=u5b8bu4f53,GB2312_CHARSET
sansserif.bolditalic.2=WingDings,SYMBOL_CHARSET
sansserif.bolditalic.3=Symbol,SYMBOL_CHARSET
monospaced.0=CourierNew,ANSI_CHARSET
monospaced.plain.1=u5b8bu4f53,GB2312_CHARSET
monospaced.plain.2=WingDings,SYMBOL_CHARSET
monospaced.plain.3=Symbol,SYMBOL_CHARSET
monospaced.bold.0=CourierNewBold,ANSI_CHARSET
monospaced.bold.1=u5b8bu4f53,GB2312_CHARSET
monospaced.bold.2=WingDings,SYMBOL_CHARSET
monospaced.bold.3=Symbol,SYMBOL_CHARSET
monospaced.italic.0=CourierNewItalic,ANSI_CHARSET
monospaced.italic.1=u5b8bu4f53,GB2312_CHARSET
monospaced.italic.2=WingDings,SYMBOL_CHARSET
monospaced.italic.3=Symbol,SYMBOL_CHARSET
monospaced.bolditalic.0=CourierNewBoldItalic,ANSI_CHARSET
monospaced.bolditalic.1=u5b8bu4f53,GB2312_CHARSET
monospaced.bolditalic.2=WingDings,SYMBOL_CHARSET
monospaced.bolditalic.3=Symbol,SYMBOL_CHARSET
#FontFileNames
#
filename.u5b8bu4f53=SIMSUN.TTC
filename.Arial=ARIAL.TTF
filename.Arial_Bold=ARIALBD.TTF
filename.Arial_Italic=ARIALI.TTF
filename.Arial_Bold_Italic=ARIALBI.TTF
filename.Courier_New=COUR.TTF
filename.Courier_New_Bold=COURBD.TTF
filename.Courier_New_Italic=COURI.TTF
filename.Courier_New_Bold_Italic=COURBI.TTF
filename.Times_New_Roman=TIMES.TTF
filename.Times_New_Roman_Bold=TIMESBD.TTF
filename.Times_New_Roman_Italic=TIMESI.TTF
filename.Times_New_Roman_Bold_Italic=TIMESBI.TTF
filename.WingDings=WINGDING.TTF
filename.Symbol=SYMBOL.TTF
#MissingGlyphCharacter
#
default.char=2751
#ComponentFontCharacterEncodings
#
fontcharset.dialog.1=sun.io.CharToByteGBK
fontcharset.dialog.2=sun.awt.windows.CharToByteWingDings
fontcharset.dialog.3=sun.awt.CharToByteSymbol
fontcharset.dialoginput.1=sun.io.CharToByteGBK
fontcharset.dialoginput.2=sun.awt.windows.CharToByteWingDings
fontcharset.dialoginput.3=sun.awt.CharToByteSymbol
fontcharset.serif.1=sun.io.CharToByteGBK
fontcharset.serif.2=sun.awt.windows.CharToByteWingDings
fontcharset.serif.3=sun.awt.CharToByteSymbol
fontcharset.sansserif.1=sun.io.CharToByteGBK
fontcharset.sansserif.2=sun.awt.windows.CharToByteWingDings
fontcharset.sansserif.3=sun.awt.CharToByteSymbol
fontcharset.monospaced.0=sun.io.CharToByteGBK
fontcharset.monospaced.1=sun.io.CharToByteGBK
fontcharset.monospaced.2=sun.awt.windows.CharToByteWingDings
fontcharset.monospaced.3=sun.awt.CharToByteSymbol
#ExclusionRanges
#
exclusion.dialog.0=0100-20ab,20ad-f8ff
exclusion.dialoginput.0=0100-20ab,20ad-f8ff
exclusion.serif.0=0100-20ab,20ad-f8ff
exclusion.sansserif.0=0100-20ab,20ad-f8ff
exclusion.monospaced.0=0100-20ab,20ad-f8ff
#TextInputCharacterSet
#
inputtextcharset=GB2312_CHARSET
必要申明一点,JB利用的是本人带的JRE,而不是体系中的JRE,以是要修正JB安装目次下jdk目次中jre/lib中的font.properties文件才无效。
唉!都是钱闹的1.Swing和.net开发比较------从市场份额看.net开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具 |
|