使字体大小小于1个Java GUI

Eva*_*eld 0 java user-interface swing java-2d font-size

我想在我的网格中为我的图形标记我的哈希标记,但是当我使用偶数字体大小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);
    }
Run Code Online (Sandbox Code Playgroud)

这是x ^ 2生成的图表的屏幕截图.在此输入图像描述

use*_*tbd 5

正如我敢肯定你已经注意到,字体构造函数采用intsize参数-有效地渲染不可能字体的建设(使用此方法,至少),其具有size0和1之间.

但是,我确实发现该类的deriveFont方法Font特别有趣:

public font deriveFont(float size)

通过复制当前Font对象并对其应用新大小来创建新的Font对象.

参数:size - 新Font的大小.

deriveFont方法声称构造一个具有给定大小的新Font,它将a float作为参数 - 因此,可能会执行以下操作:

Font theFont = new Font("SansSerif",Font.PLAIN,1);
theFont = theFont.deriveFont(0.5);
g2.setFont(theFont);
Run Code Online (Sandbox Code Playgroud)

导致大小为0.5的字体.

现在,我还没有自己测试过 - 设置一个图形程序需要时间,所以你比我更好地尝试它.但只是把它扔出去作为一种可能性.