不能
Font(String name, int style, int size)
字体的size是int类型
size是以像素为单位的字体大小,像素则是屏幕上最小的显示单位,所以不能有小数的存在。

解决方案 »

  1.   

    首先,请检视您对像素(pixel)的理解如果你能让一个像素的10%发白光,20%发红光,30%发绿光,剩余的40%发蓝光的话,我就能帮你做到。
      

  2.   

    我用Font b = a.deriveFont(m);m是float类型。不知这个是否能行?我试过了,好像可以!不知是什么道理!
      

  3.   

    我查了一下Docs,对public Font deriveFont(float size)方法的说明是产生了一个新的Font object,这样好象的确可以用float设置字体size,但我们需要的是效果,而不能只是参数变化的形式,做一个实验就会发现,设置12.3f和12的字体大小没有变化,而12.5f的大小则与13一样了,说明Java(学过四舍五入),哈哈~~~~开玩笑。下面是我测试用的代码,可以一起研究一下。
    import javax.swing.*;
    import java.awt.*;public class Test {
      JFrame frame;  public Test(){
        frame = new JFrame("Test");
        String str = "我们都有一个家,名字叫中国!";
        Font font = new Font("宋体", 0, 12); //第一个字体
        Font f = font.deriveFont(12.3f); //第二个字体
        JPanel pane = new JPanel();
        JLabel label = new JLabel(str);
        label.setFont(font);
        JLabel l = new JLabel(str);
        l.setFont(f);
        pane.add(label);
        pane.add(l);
        frame.getContentPane().add(pane, BorderLayout.CENTER);
        frame.setSize(300, 200);
        frame.setVisible(true);
      }
      public static void main(String[] args) {
        new Test();
      }
    }
      

  4.   

    derivefont完成此项功能,楼上那个程序不能设置与字库有关,或font.properties的设置,我试过不同字体,有的可以改变精确到这个程度,有的不行.
      

  5.   

    有可能是我把API文档理解错了,但若说在屏幕上显示能精确到12.3像素?把代码贴出来研究一下吧,长点见识