Java中的无响应FPS计数器

Java中的无响应FPS计数器,java,frame-rate,Java,Frame Rate,这段代码应该在控制台上显示一个带有绿色屏幕和FPS计数器的应用程序,但它不工作 帮忙 package com.tutorial.main; 导入java.awt.Canvas; 导入java.awt.Color; 导入java.awt.Graphics; 导入java.awt.image.BufferStrategy; 公共类游戏扩展画布实现可运行{ 私有静态最终长serialVersionUID=758081553408464638412L; 公共静态最终整数宽度=640,高度=宽度/12*

这段代码应该在控制台上显示一个带有绿色屏幕和FPS计数器的应用程序,但它不工作

帮忙

package com.tutorial.main;
导入java.awt.Canvas;
导入java.awt.Color;
导入java.awt.Graphics;
导入java.awt.image.BufferStrategy;
公共类游戏扩展画布实现可运行{
私有静态最终长serialVersionUID=758081553408464638412L;
公共静态最终整数宽度=640,高度=宽度/12*9;
私有线程;
私有布尔运行=false;
公共游戏(){
新窗口(宽度、高度,“让我们构建一个游戏!”,此窗口);
}
公共同步的void start(){
线程=新线程(此);
thread.start();
}
公共同步无效停止(){
试一试{
thread.join();
运行=错误;
}捕获(例外e){
e、 printStackTrace();
}
}
公开募捐{
long lastTime=System.nanoTime();
双amountOfTicks=60.0;
双ns=1000000000/个;
双增量=0;
长定时器=System.currentTimeMillis();
int帧=0;
(跑步时){
long now=System.nanoTime();
增量+=(现在-上次)/ns;
上次=现在;
而(增量>=1){
勾选();
三角洲--;
}
如果(正在运行){
render();
frames++;
if(System.currentTimeMillis()-计时器>1000){
定时器+=1000;
系统输出打印项次(“FPS:+帧);
帧=0;
}
}
停止();
}
}
私人空白勾号(){
}
私有void render(){
BufferStrategy bs=this.getBufferStrategy();
如果(bs==null){
这一战略(3);
回来
}
Graphics g=bs.getDrawGraphics();
g、 setColor(Color.green);
g、 fillRect(0,0,宽度,高度);
g、 处置();
b.show();
}
公共静态void main(字符串参数[]){
新游戏();
}

}
如果您已经知道有一些错误/异常抛出,请共享stacktrace。您声明有两个错误,因此请为它们提供更多信息(如stacktraces)。哦,对了,在game.java中有一行代码说“Graphics g=bs.getDrawGraphics();g.setColor(Color.GREEN);g.fillRect(0,0,宽度,高度)这是为了发布它显示为绿色的屏幕,在我的游戏循环中,它是为了返回控制台中的FPS,但不是,我还不确定是否需要使用console.print命令。因为它显然是用于工作的。对我来说是有效的,我怀疑你发布的代码是否与给出错误的代码相同。我会重新发布它,但我非常确定。