比如我要显示一个JLabel,但是它的大小刚好能显示它上面的字符串,如果要显示“姓名”,JLabel的大小刚好是“姓名”这个字符串的宽度,这样可以实现吗?请各位大侠给点指点!

解决方案 »

  1.   

    如果布局管理器没有对JLabel进行限制,JLabel将按照内容的长度来显示的。
      

  2.   

    对布局管理器没有要求,我就是想用setSize设置一下Label的大小
      

  3.   

    不明白你为什么要这样做,告诉你一个计算字符串长度的方法:得到JLabel中文字所占用的宽度(像素),只适合纯文字LabelJLabel label = new JLabel("五斗米");
    Font font = label.getFont(); // JLabel所使用的字体
    String text = label.getText(); // JLabel文字内容
    FontMetrics fm = label.getFontMetrics(font); // 获取字体规格
    int width = fm.stringWidth(text); // 宽(像素)