我想在我的网格中为我的图形标记我的哈希标记,但是当我使用偶数字体大小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。
生成的图表的屏幕截图答案 0 :(得分:5)
我确信你已经注意到了,Font构造函数对int
参数采用size
- 有效地无法构造字体(至少使用这种方法)有size
介于0和1之间。
然而,我确实发现Font
类的deriveFont方法特别有趣:
public Font deriveFont(float size)
通过复制当前Font对象并对其应用新大小来创建新的Font对象。
参数: size - 新Font的大小。
声称构造具有给定大小的新Font的deriveFont
方法需要float
作为参数 - 因此,可能会执行以下操作:
Font theFont = new Font("SansSerif",Font.PLAIN,1);
theFont = theFont.deriveFont(0.5);
g2.setFont(theFont);
导致大小为0.5的字体。
现在,我自己没有对此进行测试 - 设置图形程序需要时间,因此您可以比我更好地尝试它。但只是把它扔出去作为一种可能性。