g.drawString(p2.getName(), 800 - FontMetrics.stringWidth(p2.getName()), 40);
该行导致错误“无法从FontMetrics类型对非静态方法stringWidth(String)进行静态引用。
getName()
方法在播放器类中定义,而p2是该类的实例,因此我不知道p2.getName()
是如何作为静态引用。
答案 0 :(得分:3)
您需要使用FontMetrics
的实例。您可以从Graphics
对象中获取一个:
g.drawString(p2.getName(), 800 - g.getfontMetrics().stringWidth(p2.getName()), 40);
答案 1 :(得分:2)
因为它不是 - 静态引用是stringWidth
。
FontMetrics.stringWidth
是一种实例方法。错误消息是:
无法对类型 FontMetrics
中的非静态方法 stringWidth(String)进行静态引用
答案 2 :(得分:1)
stringWidth()
方法不是静态方法,需要FontMetrics
的实例才能访问它。
您正在以静态方法访问它,因此它会给您错误。
答案 3 :(得分:1)
g.getFontMetrics.stringWidth("your string")