String str = "abceWWWwww";怎样获取一个字符串占了多少像素?

解决方案 »

  1.   

    就是想知道一个字符串占了屏幕多少个像素"l" 和 "L" 显然占的像素是不一样的,一个窄一个宽通过什么方法可以取得他们所占的像素
    而不是length()
      

  2.   

    我在重写JLabel,其中需要判断一下JLabel的内容text的长度(像素)什么的
      

  3.   

    重写paintComponent方法Font font = new Font(...);
    g2.setFont(font);
    String str = "abclLGg";
    Rectangle2D rect = font.getStringBounds(str, g2.getFontRenderContext());
    double width = rect.getWidth();随便写的,有错请讲..
      

  4.   

    谢谢大家问题已经解决public void paintComponent(Graphics g) {
        super.paintComponent(g);

        String str = "wwwwwwWWWWWWWW";     Graphics2D g2 = (Graphics2D)g;
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                    RenderingHints.VALUE_ANTIALIAS_ON);
            
        int textWidth = getFontMetrics(g2.getFont()).bytesWidth(str.getBytes(), 0, str.getBytes().length);    System.out.println(textWidth);
    }