关于JAVA中的g.drawString()方法
我在面版上画一段文字如 "eeeeeeeeee ";
为什么,字体很小的时候如:fontSize = 1;
g.drawString( "fffffffffffffffffffffffffffffffff ");画面上不显示,
但g.drawString( "wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ");却可以显示,我知道这跟文字的宽度有关系,W比较胖,所以可以显示,F太苗条了,就不显示.我通过例子证明了这点,但不明白为什么这样,怎么解决这个问题,有没有这方面的专家给指导一下,谢谢:
参考代码:
/**
* テキスト図形にテキストを描写する
*/
public void drawFrame(Graphics g) {
//Modify by zuochuanmin on 2007/04/09 start
//変更原因:メモのフォントサイズを24にすると、文字がメモよりはみ出した
int fontSize = (int)(Integer.parseInt(PropertiesDefine.CommentDefine.fontSize)*MainDrawingView.getInstance().scale);
if(fontSize <=0){
fontSize = 1;
}
fFont = new Font(fFont.getName(), fFont.getStyle(), fontSize);
g.setFont(fFont);
if (PropertiesDefine.CommentDefine.fontColor != null){
g.setColor(stringToColor(PropertiesDefine.CommentDefine.fontColor));
}
int length = (int)(10*MainDrawingView.getInstance().scale);
// 文字列の描画処理
char[] chars = fText.toCharArray();
FontMetrics fm = g.getFontMetrics(getFont());
int top = fOriginY + length; //Modify by zuochuanmin on 2007/1/8
g.setFont(fFont);
//System.out.println( "draw frame length: "+length);
int mysixedWidth = fWidth -length*2;
int left = fOriginX + length; //Modify by zuochuanmin on 2007/1/8
int curWidth = 0;
int temp = top; //Add by zuochuanmin on 2007/01/23
Dimension size = null;
double maxHeight = 0;
g.drawString( "ffffffffffffffffffffffff ", fOriginX, fOriginY);
for(int i = 0; i < chars.length; i++){