服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

jbuilder光标问题的解决方案


  大家常常说jbuilder在中文系统中存在光标错位的问题,都认为这是jbuilder的一个bug,其实这实在是冤枉jbuilder了!大家讨论出来的解决方法无外乎两种:

  1、将编辑器的字体改为宋体,用这种方法带来的问题是,在宋体下的英文字体实在难看,阅读起来不太顺眼;

  2、就是将编辑器字体的粗体属性去掉,这样也影响代码的可读性。

  其实,造成jbuilder光标错位的问题并不是borland的错误,而是java的宗师――sun的罪过!大家一定知道i18n吧?在不同的区域设置中,jdk自动调用与之相对应的properties文件,而在jdk中,sun所推出的与中文系统相对应的properties文件存在问题,在它之中没有区分英文字体的正常、粗体和斜体,从而导致了以上所说的问题,解决的方法很简单,只要将这个properties文件修改正确就可以了,修改方法如下:
在jre/lib目录中找到font.properties.zh文件,编辑这个文件并修改成如下内容:

# @(#)font.properties.zh1.16 00/10/06
#
# awt font default properties for chinese windows
#


dialog.plain.0=arial,ansi_charset
dialog.plain.1=/u5b8b/u4f53,gb2312_charset
dialog.plain.2=wingdings,symbol_charset,need_converted
dialog.plain.3=symbol,symbol_charset,need_converted

dialog.bold.0=arial bold,ansi_charset
dialog.bold.1=/u5b8b/u4f53,gb2312_charset
dialog.bold.2=wingdings,symbol_charset,need_converted
dialog.bold.3=symbol,symbol_charset,need_converted

dialog.italic.0=arial italic,ansi_charset
dialog.italic.1=/u5b8b/u4f53,gb2312_charset
dialog.italic.2=wingdings,symbol_charset,need_converted


dialog.italic.3=symbol,symbol_charset,need_converted

dialog.bolditalic.0=arial bold italic,ansi_charset
dialog.bolditalic.1=/u5b8b/u4f53,gb2312_charset
dialog.bolditalic.2=wingdings,symbol_charset,need_converted
dialog.bolditalic.3=symbol,symbol_charset,need_converted

dialoginput.plain.0=courier new,ansi_charset
dialoginput.plain.1=/u5b8b/u4f53,gb2312_charset
dialoginput.plain.2=wingdings,symbol_charset,need_converted
dialoginput.plain.3=symbol,symbol_charset,need_converted

dialoginput.bold.0=courier new bold,ansi_charset
dialoginput.bold.1=/u5b8b/u4f53,gb2312_charset
dialoginput.bold.2=wingdings,symbol_charset,need_converted
dialoginput.bold.3=symbol,symbol_charset,need_converted

dialoginput.italic.0=courier new italic,ansi_charset
dialoginput.italic.1=/u5b8b/u4f53,gb2312_charset
dialoginput.italic.2=wingdings,symbol_charset,need_converted
dialoginput.italic.3=symbol,symbol_charset,need_converted



dialoginput.bolditalic.0=courier new bold italic,ansi_charset
dialoginput.bolditalic.1=/u5b8b/u4f53,gb2312_charset
dialoginput.bolditalic.2=wingdings,symbol_charset,need_converted
dialoginput.bolditalic.3=symbol,symbol_charset,need_converted

serif.plain.0=times new roman,ansi_charset
serif.plain.1=/u5b8b/u4f53,gb2312_charset
serif.plain.2=wingdings,symbol_charset,need_converted
serif.plain.3=symbol,symbol_charset,need_converted


serif.bold.0=times new roman bold,ansi_charset
serif.bold.1=/u5b8b/u4f53,gb2312_charset
serif.bold.2=wingdings,symbol_charset,need_converted
serif.bold.3=symbol,symbol_charset,need_converted

serif.italic.0=times new roman italic,ansi_charset
serif.italic.1=/u5b8b/u4f53,gb2312_charset
serif.italic.2=wingdings,symbol_charset,need_converted
serif.italic.3=symbol,symbol_charset,need_converted

serif.bolditalic.0=times new roman bold italic,ansi_charset


serif.bolditalic.1=/u5b8b/u4f53,gb2312_charset
serif.bolditalic.2=wingdings,symbol_charset,need_converted
serif.bolditalic.3=symbol,symbol_charset,need_converted

sansserif.plain.0=arial,ansi_charset
sansserif.plain.1=/u5b8b/u4f53,gb2312_charset
sansserif.plain.2=wingdings,symbol_charset,need_converted
sansserif.plain.3=symbol,symbol_charset,need_converted

sansserif.bold.0=arial bold,ansi_charset
sansserif.bold.1=/u5b8b/u4f53,gb2312_charset
sansserif.bold.2=wingdings,symbol_charset,need_converted
sansserif.bold.3=symbol,symbol_charset,need_converted

sansserif.italic.0=arial italic,ansi_charset
sansserif.italic.1=/u5b8b/u4f53,gb2312_charset
sansserif.italic.2=wingdings,symbol_charset,need_converted
sansserif.italic.3=symbol,symbol_charset,need_converted

sansserif.bolditalic.0=arial bold italic,ansi_charset
sansserif.bolditalic.1=/u5b8b/u4f53,gb2312_charset
sansserif.bolditalic.2=wingdings,symbol_charset,need_converted


sansserif.bolditalic.3=symbol,symbol_charset,need_converted

monospaced.plain.0=courier new,gb2312_charset
monospaced.plain.1=/u5b8b/u4f53,gb2312_charset
monospaced.plain.2=wingdings,symbol_charset,need_converted
monospaced.plain.3=symbol,symbol_charset,need_converted

monospaced.bold.0=courier new bold,gb2312_charset
monospaced.bold.1=/u5b8b/u4f53,gb2312_charset
monospaced.bold.2=wingdings,symbol_charset,need_converted
monospaced.bold.3=symbol,symbol_charset,need_converted

monospaced.italic.0=courier new italic,gb2312_charset
monospaced.italic.1=/u5b8b/u4f53,gb2312_charset
monospaced.italic.2=wingdings,symbol_charset,need_converted
monospaced.italic.3=symbol,symbol_charset,need_converted

monospaced.bolditalic.0=courier new bold italic,gb2312_charset
monospaced.bolditalic.1=/u5b8b/u4f53,gb2312_charset
monospaced.bolditalic.2=wingdings,symbol_charset,need_converted
monospaced.bolditalic.3=symbol,symbol_charset,need_converted



# name aliases
#
#alias.timesroman=serif
#alias.helvetica=sansserif
#alias.courier=monospaced

# for backward compatibility
#timesroman.0=times new roman,ansi_charset
#helvetica.0=arial,ansi_charset
#courier.0=courier new,ansi_charset
zapfdingbats.0=wingdings,symbol_charset

# font filenames for reduced initialization time
#
filename./u5b8b/u4f53=simsun.ttf

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

# default font definition
#
default.char=2751

# static fontcharset info.
#
#fontcharset.dialog.0=sun.io.chartobytecp1252
fontcharset.dialog.1=sun.io.chartobytegbk
fontcharset.dialog.2=sun.awt.windows.chartobytewingdings


fontcharset.dialog.3=sun.awt.chartobytesymbol

#fontcharset.dialoginput.0=sun.io.chartobytecp1252
fontcharset.dialoginput.1=sun.io.chartobytegbk
fontcharset.dialoginput.2=sun.awt.windows.chartobytewingdings
fontcharset.dialoginput.3=sun.awt.chartobytesymbol

#fontcharset.serif.0=sun.io.chartobytecp1252
fontcharset.serif.1=sun.io.chartobytegbk
fontcharset.serif.2=sun.awt.windows.chartobytewingdings
fontcharset.serif.3=sun.awt.chartobytesymbol

#fontcharset.sansserif.0=sun.io.chartobytecp1252
fontcharset.sansserif.1=sun.io.chartobytegbk
fontcharset.sansserif.2=sun.awt.windows.chartobytewingdings
fontcharset.sansserif.3=sun.awt.chartobytesymbol

#fontcharset.monospaced.0=sun.io.chartobytecp1252
fontcharset.monospaced.1=sun.io.chartobytegbk
fontcharset.monospaced.2=sun.awt.windows.chartobytewingdings
fontcharset.monospaced.3=sun.awt.chartobytesymbol

# exclusion range info.
#
exclusion.dialog.plain.0=00a0-f8ff
exclusion.dialog.italic.0=00a0-f8ff
exclusion.dialog.bold.0=00a0-f8ff
exclusion.dialog.bolditalic.0=00a0-f8ff

exclusion.dialoginput.plain.0=00a0-f8ff
exclusion.dialoginput.italic.0=00a0-f8ff
exclusion.dialoginput.bold.0=00a0-f8ff
exclusion.dialoginput.bolditalic.0=00a0-f8ff

exclusion.serif.plain.0=00a0-f8ff
exclusion.serif.italic.0=00a0-f8ff
exclusion.serif.bold.0=00a0-f8ff
exclusion.serif.bolditalic.0=00a0-f8ff

exclusion.sansserif.plain.0=00a0-f8ff
exclusion.sansserif.italic.0=00a0-f8ff
exclusion.sansserif.bold.0=00a0-f8ff
exclusion.sansserif.bolditalic.0=00a0-f8ff

exclusion.monospaced.italic.0=00a0-f8ff
exclusion.monospaced.bold.0=00a0-f8ff
exclusion.monospaced.bolditalic.0=00a0-f8ff

# charset for text input
# inputtextcharset=gb2312_charset

  保存后,一切问题就解决了!

  这种方法也适用于任何相同的问题。

  [题外话]这种错误sun真的应该好好反省一下了,希望以后他们做的东西能够测试更好一些。

扫描关注微信公众号