Font(String name, int style, int size) 
          根据指定名称、样式和磅值大小,创建一个新 Font。
这里的样式是int型的
我想从字符串“bold”得到Font.Bold 
应该怎么办?

解决方案 »

  1.   


    String str = "Font." + "bold";
      

  2.   

    补充一下。
    int style = Font.PLAIN;
    if ("BOLD".equalsIgnoreCase(cn.getStyle())) {
    style = Font.BOLD;
    } else if ("ITALIC".equalsIgnoreCase(cn.getStyle())) { style = Font.ITALIC;
    } else if ("PLAIN".equalsIgnoreCase(cn.getStyle())) { style = Font.PLAIN;
    }
    cell.setFont(new Font(cn.getFontName(), style, Integer.valueOf(cn
    .getPointSize())));
    这是我现在写的代码
    这里列出了三个style。
    我觉得这样不太好,
    有没有方法可以不用列举的办法得到。
      

  3.   

    可以
    see Font.decode(String)方法,支持以下格式(摘自javadoc)
         * <p>
         * <ul>
         * <li><em>fontname-style-pointsize</em>
         * <li><em>fontname-pointsize</em>
         * <li><em>fontname-style</em>
         * <li><em>fontname</em>
         * <li><em>fontname style pointsize</em>
         * <li><em>fontname pointsize</em>
         * <li><em>fontname style</em>
         * <li><em>fontname</em>
         * </ul>比如Font.decode("Arial-BOLD-18"); bold的大小写无所谓,等价于new Font("Arial", Font.BOLD, 18);