public static int getCurrentWidth(Icon icon, String str, Font font) {
    int length = 0;
    FontMetrics fontMetrics;
    
    if (icon != null) {
      length += icon.getIconWidth();
    }
    if (str != null) {
      fontMetrics = Toolkit.getDefaultToolkit().getFontMetrics(font);
      length = fontMetrics.stringWidth(str) + str.length();
    }
    return length;
  }Toolkit.getDefaultToolkit().getFontMetrics(font) 中 getFontMetrics过时不能用,可以用什么的方法代替。请指教

解决方案 »

  1.   

    一般的可用new JComponent().getFontMetrics(font)替代
    上面的方法并不能保证总是正确的,最好用实际绘制文字的JComponent对象来调用getFontMetrics(font),而不是new一个新的JComponent对象
      

  2.   

    现在我这个是自己系统函数,没有JComponent组件,所以原来才用 Toolkit.getDefaultToolkit().getFontMetrics(font); 
    有没有其他的方法
      

  3.   

    由 Font 方法 getLineMetrics 取代