【发布时间】:2012-11-15 21:39:04
【问题描述】:
我想在我的图表的网格中标记我的井号,但是当我使用字体大小为 1 时,它会变得很大!有没有办法使字体大小小于1?我的编码方式是否遗漏了什么?
这是生成网格并尝试在散列上放置标签的代码。
for (double k = myStart1; k <= myEnd1; k = k + (myEnd1 - myStart1) / 8) {
g2.setColor(Color.BLACK);
g2.draw(new Line2D.Double(k, (max - min) / 60, k, -(max - min) / 60));
String labelx=String.valueOf(k);
Float xCo=Float.parseFloat(Double.toString(k));
g2.setFont(new Font("SansSerif",Font.PLAIN,1));
g2.drawString(labelx, xCo, 0);
}
这里是x^2.生成的图表截图
【问题讨论】:
-
这毫无意义。字体大小为 1 甚至不可读,因此小于 1 将小于不可读。您确定字体设置正确吗?
-
我怀疑你有一个错误,也许是没有字体,“SansSerif”(你确定这是正确的吗?)。你试过
g2.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 1));吗? -
"SansSerif" 完全有效,在这里检查构造函数:goo.gl/1cQU1
-
也许 Java 正在将字体大小恢复为 16 左右,因为 1 比它可以呈现的要小。我怀疑是这种情况,但您可以尝试将字体大小设置为 8、10 或 12。或者,可能找不到名为“SansSerif”的字体,导致使用默认字体,即默认字体大小为 16。
-
@usernametbd:谢谢。然后我的建议无效,但我认为 OP 代码中某处存在错误的假设仍然是可能的。再次感谢。
标签: java swing user-interface font-size java-2d