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