在ImageView javafx上显示连续图像

时间:2018-04-10 09:34:03

标签: javafx

我有一个JavaFX程序,可以在我的笔记本电脑屏幕上截取完整的屏幕截图。 程序有一个按钮和ImageView所以当我点击按钮它调用或调用名为image_view()的方法时,它会截取屏幕截图并在ImageView上显示(此时一切正常)

但是,当我使用像while(true)这样的循环使程序每隔两秒拍摄一次屏幕截图时,我在ImageView中没有显示图片 那么我该如何解决呢?

public class FXMLDocumentController {

@FXML
private ImageView display;

@FXML
void image_view(ActionEvent event) throws InterruptedException, AWTException 
{
    Robot robot=new Robot();
    Rectangle rectangle=new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
    while (true) {            
        BufferedImage bufferedImage=robot.createScreenCapture(rectangle);
        Image myImage=SwingFXUtils.toFXImage(bufferedImage, null);
        display.setImage(myImage);
        Thread.sleep(2000);
    }
}

}

0 个答案:

没有答案